HTTP缓存
2019-03-29 本文已影响0人
BOB_BI
Cache-Control
如何让css、js请求速度加快?
response.setHeader('Cache-Control', 'max-age=30') //浏览器会阻断相同的url30s内发送的请求,会直接从内存中返回上次加载的结果
首页不可设置(.html)
原因:无法及时更新缓存。
更新缓存:将url添加一个参数(随机数),就会重新发送请求,用于更新缓存。
Expires
response.setHeader('Expires', '过期时间') //电脑本地时间几分几秒过期。
ETag
MD5——摘要算法

MD5的值不同表示1-copy和原文件有不同之处。
可检验传输文件是否受损,改动。
设置ETag

设置后首次加载,响应体中会添加一个ETag

之后刷新请求会自动添加一个If-None-Match

如果请求头中的If-None-Match的值 ===md5 文件,说明没做改动,不返回文件。

304 —— not modified

Cache-Control不请求 //better
ETag请求但响应体是空的