请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

webpack中打包的[contenthash]命中的是强制缓存还是协商缓存?

请问老师,webpack中打包的[contenthash]命中的是强制缓存还是协商缓存?

在问答区看到老师说命中的是强制缓存,但是在ppt里看到老师写的是content命中缓存返回304(返回304那肯定是协商缓存了呀)
而且根据我们学的,强制缓存设置的是cache-control,也就是一个过期时间,按照这个机制,只要超过时间肯定强制缓存就失效了,跟文件内容(contenthash)应该是无关的

麻烦老师回答一下~

正在回答 回答被采纳积分+3

1回答

双越 2023-03-22 08:08:51

其实这要看服务端的设置了。

如果服务端设置了 cache-control (如每个文件都是 1 年),再次请求,肯定能命中强制缓存

如果服务端没有设置 cache-control ,那再次请求,文件没变化的话,能命中写上缓存。

0 回复 有任何疑惑可以回复我~
  • 提问者 嵇菁菁 #1
    1、”没有设置cache-control......能命中写上缓存“,写的是强制缓存吗??
    
    也就是说,
    第一次请求没设置强制缓存,
    第二次请求,服务端发现文件没变化,有可能会返回cache-control,
    到第三次请求,才会命中强制缓存。
    是这个意思吗?
    
    2、如果服务端判定可以用协商缓存,contenthash命中的那就是304(协商缓存)的机制了对吧?
    
    3、也就是说命中哪个缓存,是由服务器的设置决定的,返回 cache-control 或 last-modified (Etag) 取决于服务器
    
    老师我这么总结对吗?
    回复 有任何疑惑可以回复我~ 2023-03-23 21:56:25
  • 双越 回复 提问者 嵇菁菁 #2
    是的。
    回复 有任何疑惑可以回复我~ 2023-03-24 08:08:24
  • 提问者 嵇菁菁 回复 双越 #3
    好的,感谢老师
    回复 有任何疑惑可以回复我~ 2023-03-29 01:20:10
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信