Cache-Control
Cache-Control可以让浏览器在一段时间内不访问服务器,直接用本地的硬盘或内存作为响应。
响应头的Cache-Control: max-age=<seconds>,表示缓存时间.

- 首页一般不设置缓存:一般留“index.html”这一个出口,因为若全部文件设置缓存,则缓存时间内用户无法得知任何代码的更新信息,至少要留一个出口。
- 缓存时间一般设置很长,比如 max-age=31536000,甚至10年。如果代码更新了,只要在入口处(index.html)给文件的url加查询参数?v=xxx即可(只要url不同,就会重新请求文件)
Expires
- 如果在Cache-Control响应头设置了 "max-age" 或者 "s-max-age" 指令,那么 Expires头会被忽略。
- 和Cache-Control的区别是,Cache-Control是设置时间长度, Expires时间点,如果两个同时出现,优先Cache-Control。
ETag&if-none-match

- 状态码304:not modify (没有改动)
- 和Cache-Control的区别是:Cache-Control是直接不请求,ETag是请求了但不下载(内容一样时),花费时间上差不多,都很短。
网友评论