Skip to content

Latest commit

 

History

History
29 lines (17 loc) · 1.09 KB

README.md

File metadata and controls

29 lines (17 loc) · 1.09 KB

HTTP 缓存

浏览器初次访问页面时,服务器会返回所有数据,但当浏览器再次访问页面时,缓存便可以起到作用。

缓存是性能优化中重要的一环,它可以减少网络请求的数量和资源的请求数。

例如,可以缓存中一些 js, css, img 等静态资源。

200 强缓存

浏览器再次请求页面时,依据 http headers 中的 cache-control 中的时间:

  • 若没有过期,触发 200 强缓存,直接访问本地缓存。
  • 若过期,则重新请求服务器。

304 协议缓存

浏览器再次请求页面时,发给服务器请求。

服务器判断浏览器资源是否与服务端资源一致(可以依据 header 中的 etag, last-modified 等来判断):

  • 若一致,返回 304 协议缓存;
  • 否则返回新的资源。

刷新策略对缓存的影响

  • 正常刷新:链接跳转,地址栏输入 url 进入页面等;强缓存有效,协议缓存有效
  • 手动刷新:F5 等;强制缓存失效,协议缓存有效。
  • 强制刷新:强制缓存失效,协议缓存失效。