浏览器缓存问题

cookie localStorage sessionStorage区别

原文链接:http://caibaojian.com/http-cookie.html

会话cookie: 是一种临时的cookie,它记录了用户访问站点时的设置和偏好,关闭浏览器,会话cookie就被删除了·

持久cookie: 存储在硬盘上,(不管浏览器退出,或者电脑重启,持久cookie都存在), 持久cookie有过期时间


来源:前端开发博客

相同点:都存储在本地

异同:cookie参与通信,通信时被放在请求头参与通信,有过期时间,可设置

LocalStorage和sessionStorage不参与通信,LocalStorage无过期时间一直存在,sessionStorage在关闭网页前有效

看浏览器缓存分为强缓存和协议缓存

当请求时,会先到缓存内找header看是否并重强缓存,是则读取缓存的页面,否则发起请求,把缓存的header发送给后台,后台读取并进行对比,如果命中协议缓存,发送一份新的header给浏览器,但是并不发送资源,请求还是从缓存里读取资源,否则从新发送新的资源到浏览器

原文链接:http://caibaojian.com/browser-cache.html

  • 浏览器会先获取该资源缓存的header信息,根据其中的expirescahe-control判断是否命中强缓存,若命中则直接从缓存中获取资源,包括缓存的header信息,本次请求不会与服务器进行通信;
  • 如果没有命中强缓存,浏览器会发送请求到服务器,该请求会携带第一次请求返回的有关缓存的header字段信息(Last-Modified/IF-Modified-Since、Etag/IF-None-Match),由服务器根据请求中的相关header信息来对比结果是否命中协商缓存,若命中,则服务器返回新的响应header信息更新缓存中的对应header信息,但是并不返回资源内容,它会告知浏览器可以直接从缓存获取;否则返回最新的资源内容



原文地址:https://www.cnblogs.com/mttcug/p/8574500.html