浏览器缓存

2022-11-01  本文已影响0人  翔子丶

HTTP协议

与缓存有关的首部字段名

和强缓存有关的首部字段名主要是:Expires和Cache-control

和协商缓存相关的首部字段名:Last-Modified、If-Modified-Since、Etag、If-None-Match

强缓存失效后,浏览器携带缓存标识(If-none-match或If-modified-since)向服务器发起请求,由服务器根据缓存标识决定是否使用缓存

网页缓存过程

当浏览器发起Http请求时获取资源时:

  1. 向浏览器缓存询问是否有缓存该资源的数据,有的话直接使用
  2. 没有时向服务器发起请求,获取资源
  3. 将获取到的资源存储在浏览器缓存中

Disk Cache(磁盘缓存)和Memory Cache(内存缓存)

缓存新鲜度

缓存新鲜度用于判断缓存是否过期:缓存新鲜度 > 缓存使用期

缓存新鲜度 = max-age || (expires - date)

max-age存在时,缓存新鲜度直接等于它,缓存xxx秒,在这个时间段内都是新鲜的;而max-age不存在时,缓存新鲜度等于expires - date的值,expires绝对时间,表示缓存过期的时间,而date表示创建报文的日期时间(服务器返回新资源的时间),两者相减就可以计算出可以缓存的时间,即新鲜度

上一篇 下一篇

猜你喜欢

热点阅读