Cache-Control: max-age=1000 缓存 与 ETag 的「缓存」有什么区别?

链接:https://www.jianshu.com/p/8da6beefcbc9

Cache-Control:缓存 与 ETag 的「缓存」有什么区别?

Cache-Control: max-age=1000 :请求完成,响应完毕后,响应体保存一百秒,时间一到缓存就没有啦,需要从新请求服务器,去拿对应的数据。100秒期间,浏览器不会再次发送任何请求,只在本地缓存拿数据。

ETag:对比本地与服务器端的MD5返回值,若一致,不需要重新加载响应体,若不一致(说明文本发生了改变)则重新下载响应体。当数据没发生改变的时候,每次请求虽然不会重新加载响应体,但是还是发送了请求。

如果资源没过期,前者根本不会发送请求,后者会发送请求。

PS:

①,作为入口,html是不能做缓存的,html有很多url,如果缓存的话,JS,CSS等发生更新变化,用户不能第一时间获取最新的版本。

②,如果缓存内容在设置的过期时间内发生变动,需要更改请求路径,当路径发生改变,浏览器就会重新求情。

你可能感兴趣的:(Cache-Control: max-age=1000 缓存 与 ETag 的「缓存」有什么区别?)