Cache-Control
如果服务端在响应头中设置了 Cache-Control 在规定时间内前端将不会向服务端发起请求,而直接去读取缓存;因此可以加快访问速度
response.setHeader('Cache-Control','Max-age: 315360000')
Max-age设置的时间已秒为单位
更新资源
- 在 URL 后面加查询参数,比如:url/?v=1.0
- 更改 URL
- 更改文件名
Etag
Etag 是基于 md5 摘要算法的,如果发现文件计算出来的字符串与之前一样就不下载资源
因为需要和服务器中的文件进行对比,所以 Etag 每次都要发送请求。一旦你改了资源浏览器就会下载资源
response.setHeader('ETag', fileMd5)
Expires
response.setHeader('Expires','Wed, 21 Oct 2015 07:28:00 GMT')
Expires 设置的到期日期是本地时间,所以不靠谱;而且设置了 Cache-Control,Expires 将会被忽略