HTTP缓存
先看几篇文章:
HTTP 缓存有哪几种
- ETag 是通过对比浏览器和服务器资源的特征值(如MD5)来决定是否要发送文件内容,如果一样就只发送 304(not modified)
- Expires 是设置过期时间(绝对时间),但是如果用户的本地时间错乱了,可能会有问题
- CacheControl: max-age=3600 是设置过期时长(相对时间),跟本地时间无关。
Expires和CacheControl区别
- CacheControl是时间长度
- Expires是某个时间点,有buhg。比如用户自己修改了本地时间。
ETag和CacheControl区别
- ETag是有请求的,状态码一般为304
- Cache是无请求的