浏览器缓存之http缓存

785 阅读1分钟

HTTP 缓存分为强缓存和协商缓存,强缓存优先级高于协商缓存,在命中强缓存失败的情况下,才会走协商缓存。

强缓存

强缓存通过ExpiresCache-Control控制,Cache-Control石HTTP1.1版本才出现得,优先级高于Expires
Expires只支持时间戳,可能导致服务器时间和浏览器时间不一致得问题
Cache-Control功能更为强大

cache-control: max-age= 6666000

no-cache 绕过浏览器缓存直接走协商缓存
no-store 不使用任何缓存策略

Cache-Control: no-store, no-cache, no-transform, must-revalidate, max-age=0

协商缓存

Last-Modified&If-Modified-Since Last-Modified 通过时间戳感知文件变化,可能存在编辑了文件并没变化而时间变化得问题,和快速更新得问题 Etag&If-None-Match Etag 值是标识字符串,能够精准地感知文件的变化。和Last-Modified同时存在优先级较高