Skip to main content

浏览器缓存的差异

· 3 min read
Zeffon Wu

平时在开发Web页面的时候,借助于浏览器的缓存来储存数据是很常见的。但是,浏览器缓存有三种,分别是 CookieLocal StorageSession Storage。三者是有所区别的,所以我们需要对这三者有深刻的认识。这样在开发的时候才能正确地选择我们需要的缓存类型。

对比

特性CookieLocal StorageSession Storage
生命周期一般有服务器生成的数值,可设置失效时间。在浏览器生成的Cookie,在浏览器的关闭会被清除。该缓存值不会过期,只能手动清除。该缓存值只有在当前的会话下存在,关闭页面或者浏览器会被清除。
数据大小4k左右一般为5MB一般为5MB
与服务端通信每次请求都会携带在HTTP只存在浏览器,不参与服务端通信只存在浏览器,不参与服务端通信
使用场景数据量小, 保存周期短的数据。比如token值该数据只能手动清除 , 所以不要保存比较重要的数据。适合缓存一些公开数据。相比Cookie的缓存空间比较大 , 也缓存一些保存周期短的数据 , 比如编辑表单时数据。

API

  • 原生的API并不友好,兼容性也差
  • 推荐第三方API js-cookie

Local Storage

Session Storage