Caching Chrome缓存时间过长
在我的网站www.johnshammas.com上,它可以在所有浏览器中完美运行。除了…任何在Chrome上查看过以前版本的人都会一直使用该版本,直到他们清空缓存为止。当网站实际被大量修改时,什么会导致网站返回“未修改”标题?一些可能的解决方案如下所示 1号(永久性)Caching Chrome缓存时间过长,caching,google-chrome,Caching,Google Chrome,在我的网站www.johnshammas.com上,它可以在所有浏览器中完美运行。除了…任何在Chrome上查看过以前版本的人都会一直使用该版本,直到他们清空缓存为止。当网站实际被大量修改时,什么会导致网站返回“未修改”标题?一些可能的解决方案如下所示 1号(永久性) F12用于开发工具>齿轮符号用于右下角的设置>网络> 2号(半永久性) 通过Ctrl+Shift+N切换到隐姓埋名模式。但要注意这一点 也将结束您的会话 3号(一次) Ctrl+Shift+Del>确认 4号(一次)
- F12用于开发工具>齿轮符号用于右下角的设置>网络>
- 通过Ctrl+Shift+N切换到隐姓埋名模式。但要注意这一点 也将结束您的会话
- Ctrl+Shift+Del>确认
- F12开发工具>网络选项卡>右键单击内容区域> 清除浏览器缓存>确认
304未修改
响应,这是因为之前服务器发送了一个带有ETag
或上次修改
头的响应
稍后,浏览器将此值作为ETag
发送,或者如果自标题修改后发送。服务器识别ETag或日期,因此自浏览器上次请求资源后,该资源未发生更改
因此它返回了一个304
如果您不熟悉这些或其他缓存头,我建议您对它们进行一些研究。关于这些是什么以及如何使用它们,有很多很好的教程。问题是Chrome需要在缓存控件的“头”中有必须重新验证
,以便重新检查文件,查看是否需要重新获取它们
建议使用以下响应标题:
Cache-Control: must-validate
这会告诉Chrome检查服务器,看看是否有更新的文件。如果有更新的文件,它将在响应中接收它。如果没有,它将收到304响应,并保证缓存中的响应是最新的
如果您没有设置此标题,那么在没有任何其他设置使文件无效的情况下,Chrome将永远不会与服务器检查是否有更新的版本
下面是一个进一步讨论此问题的示例。您应该查看随页面一起发送的标题,并检查它们是否不是问题的原因。如果您不理解标题的意思,请将问题添加到标题中。