stuxt.github.io icon indicating copy to clipboard operation
stuxt.github.io copied to clipboard

[学习笔记]关于缓存的那些事

Open stuxt opened this issue 9 years ago • 2 comments

记录关于前端优化过程中,关于缓存的学习/优化/实践的那些事。

1/九种浏览器端缓存机制知多少

stuxt avatar Aug 25 '16 14:08 stuxt

此部分是#20 的一部分。

stuxt avatar Apr 19 '17 07:04 stuxt

优化缓存方式提高缓存利用率

优化目前文件的版本管理方式,开启强缓存,提高缓存利用率,使得缓存命中率提高减少对服务器的请求。进而减少http请求。

配置ETag:http协商缓存也叫http弱缓存。If-None-Match: 上次 ETag 的内容。浏览器会发出请求询问服务端,资源是否过期;服务端发现,没有过期,直接返回一个状态码为 304、正文为空的响应,告知浏览器使用本地缓存;

如果资源有更新,服务端返回状态码 200、Etag 和正文。

添加 Expires 头:服务端通过响应头告诉浏览器,在什么时间之前(Expires)或在多长时间之内(Cache-Control: Max-age=xxx),不要再请求服务器了。这个机制我们通常称之为 HTTP 的强缓存。

一般会对 CSS、JS、图片等资源使用强缓存,而入口文件(HTML)一般使用协商缓存或不缓存。

stuxt avatar Apr 19 '17 07:04 stuxt