Network
Http
Response Headers
cache-control
强缓存
max-age = 3153600
最长存储时间,单位:秒
no-cache
可以缓存,但是每次使用前要和服务进行确认
代理服务器不能对资源进行缓存
no-store
不进行缓存,每次都要向服务器请求资源
private
只有自己浏览器可以缓存
public
浏览器和代理服务都可以缓存
etag
资源表示符,资源更新后,etag也会更新。
if-none-match
协商缓存
第二次发起请求是,if-none-match 会携带 etag 的值,服务器会检查发送的etag的值。相同,返回304,使用缓存。
直接访问js文件,谷歌浏览器请求头里携带If-None-Match
,苹果浏览器不会
last-modified
资源最后修改时间
If-Modified-Since
If-Modified-Since值也跟Last-Modified值一致
expires
资源过期时间,未过期前不会向服务器请求新资源
强缓存优先级大于协商缓存,即两者同时存在时,如果强缓存开启且在有效期内,则不会走协商缓存。
强缓存就是浏览器本地根据服务器设置的过期时间来判断是否使用缓存,未过期则从本地缓存里拿资源,已过期则重新请求服务器获取最新资源。
协商缓存则是浏览器本地每次都向服务器发起请求,由服务器来告诉浏览器是从缓存里拿资源还是返回最新资源给浏览器使用。