stuxt.github.io
stuxt.github.io copied to clipboard
[学习笔记]关于缓存的那些事
此部分是#20 的一部分。
优化缓存方式提高缓存利用率
优化目前文件的版本管理方式,开启强缓存,提高缓存利用率,使得缓存命中率提高减少对服务器的请求。进而减少http请求。
配置ETag:http协商缓存也叫http弱缓存。If-None-Match: 上次 ETag 的内容。浏览器会发出请求询问服务端,资源是否过期;服务端发现,没有过期,直接返回一个状态码为 304、正文为空的响应,告知浏览器使用本地缓存;
如果资源有更新,服务端返回状态码 200、Etag 和正文。
添加 Expires 头:服务端通过响应头告诉浏览器,在什么时间之前(Expires)或在多长时间之内(Cache-Control: Max-age=xxx),不要再请求服务器了。这个机制我们通常称之为 HTTP 的强缓存。
一般会对 CSS、JS、图片等资源使用强缓存,而入口文件(HTML)一般使用协商缓存或不缓存。