http缓存相关

重点推荐 浏览器缓存知识小结及应用

第一步:HTTP缓存实现的原理]

第二步:浏览器 HTTP 协议缓存机制详解

浏览器缓存机制:

缓存有多种,有浏览器缓存,服务器缓存,CDN缓存等;浏览器缓存作为性能优化里面静态资源相关的一大利器;

浏览器缓存基本知识

浏览器缓存分为强缓存协商缓存

  1. 当要发送一个请求时,浏览器从请求的header中判断是否命中强缓存,如果命中,浏览器则从缓存中获取页面数据,不再往服务器发送请求了;强缓存命中主要是根据: Cache-ControlExpires来判断是否命中缓存;
  2. 如果没有命中强缓存,浏览器就发送请求到服务器验证是否命中协商缓存,浏览器会在request header中添加If-Modified-SinceIf-None-Match,并与服务器中的Last-ModifiedETag比较,如果缓存有效,则返回304请求,浏览器接收到请求后,就从缓存中获取数据;如果无效,则直接返回最新的页面数据,浏览器接收到后,更新到缓存中
  3. 强缓存与协商缓存的共同点是:如果命中,都是从客户端缓存中加载资源,而不是从服务器加载资源数据;区别是:强缓存不发请求到服务器,协商缓存会发请求到服务器。
  4. 当协商缓存没有命中,浏览器直接从服务器加载数据

缓存管理

协商缓存跟强缓存不一样,强缓存不发请求到服务器,所以有时候资源更新了浏览器还不知道,但是协商缓存会发请求到服务器,所以资源是否更新,服务器肯定知道。大部分web服务器都默认开启协商缓存,而且是同时启用【Last-Modified,If-Modified-Since】和【ETag、If-None-Match】,比如apache

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容