如何对js的缓存进行优化

cookie

通常由浏览器进行存储,然后将cookie与每个后续请求一起发送到同一服务器。收到HTTP请求时,服务器可以发送带有Cookie的header头。可以给Cookie设置有效时间。

应用于:

  • 会话管理: 登陆名,购物车商品,游戏得分或者服务器应要记录的其他内容
  • 个性化: 用户首选项、主题或者其他设置
  • 跟踪:记录和分析用户的行为,比如埋点
    记录用户的一个唯一id,每次访问服务器都会将cookie带过去,可以根据这个来记录用户的行为,生成个性化推荐

sessionStorage

  • 创建一个本地存储的键/值对
    应用于:页面与页面之间的传值。如果用户关闭标签页,那值将会清空。只适合页面之间的存值。

IndexedDB

索引数据库
与cookie的区别,cookie的限制大小大约是4kb,不同浏览器之间有区别。但是IndexedDB可以存储几个M的数据。
应用于:

  • 客户端存储大量结构化数据
  • 没有网络连接的情况下使用(比如Google Doc、石墨文档等)
  • 将冗余、很少修改、但经常访问的数据,以避免随时从服务器获取数据。

LocalStorage

本地存储。用户关闭浏览器之后还是会存在。

  • 应用于:
  • 缓存静态文件:css、js。
    页面首次加载之后,缓存进localStorage。更新策略:每次发布之后将文件内容做一个MD5值之后作为localStorage的key;缓存在localStorage在弱网的情况下,用户体验还是跟网络良好时保持一致。
  • 缓存不常变更的API接口数据。
  • 存储地理位置信息,包括周边的住宿等信息,下次再访问相同的地址时候,可以推荐
  • 浏览页面的具体位置,比如阅读类的网站,提高用户体验。

你可能感兴趣的:(如何对js的缓存进行优化)