6. 浏览器缓存原理

与缓存有关的请求头

key value 说明
Cache-Control max-age=0 客户端向服务器端代表,若是缓存过时了,可是过时时间尚未超过指定时间(以秒为单位),则直接返回304便可。
If-Modified-Since Wed, 09 Aug 2017 10:28:55 GMT 根据修改时间来判断文件是否修改过。若是没有修改,则使用缓存。
If-None-Match 598ae3e7-c 根据hash来判断文件是否修改过,若是没有修改,则使用缓存。

与缓存有关的响应头

key value 说明
Expires - http1.0协议中定义的,建议使用更强大的Cache-control
Cache-control max-age=86400 http1.1协议中定义的,提供了对缓存更细致的控制,优先级也高于Expires。max-age=86400表示客户端在24小时内,无须向服务器端发送请求,能够直接使用本地的缓存文件。可是Chrome等浏览器并无遵照,而是每次都想浏览器发送请求进行校验。
Last-Modified Wed, 09 Aug 2017 10:28:55 GMT 此文件的最后修改时间
ETag 598ae3e7-c 此文件的最新hash值