协商缓存和强缓存

  • Post author:
  • Post category:其他




什么是协商缓存和强缓存






一、缓存?

缓存是指浏览器(客户端)在本地磁盘中队访问过的资源保存的副本文件。



二、强缓存

强缓存是根据返回头中的 Expires 或者 Cache-Control 两个字段来控制的,都是表示资源的缓存有效时间。



三、协商缓存

协商缓存是由服务器来确定缓存资源是否可用。 主要涉及到两对属性字段,都是成对出现的,即第一次请求的响应头带上某个字, Last-Modified 或者 Etag,则后续请求则会带上对应的请求字段 If-Modified-Since或者 If-None-Match,若响应头没有 Last-Modified 或者 Etag 字段,则请求头也不会有对应的字段。



四、浏览器缓存主要有一下优点:

减少重复数据请求,避免通过网络再次加载资源,节省流量。

降低服务器的压力,提升网站性能。

加快客户端加载网页的速度, 提升用户体验



五、强缓存和协商缓存的区别:

如果浏览器命中强缓存,则不需要给服务器发请求;而协商缓存最终由服务器来决定是否使用缓存,即客户端与服务器之间存在一次通信。

在 chrome 中强缓存(虽然没有发出真实的 http 请求)的请求状态码返回是 200 (fromcache);而协商缓存如果命中走缓存的话,请求的状态码是 304 (not modified)。 不同浏览器的策略不同,在

FireFox中,from cache 状态码是 304.



版权声明:本文为m0_70730767原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。