Chrome一直在重新验证站点上的Javascript文件,尽管它不应该这样做

Chrome一直在重新验证站点上的Javascript文件,尽管它不应该这样做,javascript,google-chrome,caching,Javascript,Google Chrome,Caching,我是一个登录页创作系统的开发人员。为了让我们的页面加载更快,我们使用了强制缓存技术——登录页中的所有资源图像/js/css/字体都将在一年内过期。文件路径是唯一的,文件永远不会更改。 它应该可以找到,但在Chrome中浏览这些页面时会出现问题-当它加载已缓存的Javascript文件时*浏览器有时会使用IF-MODIFIED-SINCE头连接到服务器,并获得304回复,有时则不会。对于已经缓存的Javascript文件,我根本不希望浏览器连接到服务器,这会降低页面加载速度。 *已缓存:只需多次输

我是一个登录页创作系统的开发人员。为了让我们的页面加载更快,我们使用了强制缓存技术——登录页中的所有资源图像/js/css/字体都将在一年内过期。文件路径是唯一的,文件永远不会更改。 它应该可以找到,但在Chrome中浏览这些页面时会出现问题-当它加载已缓存的Javascript文件时*浏览器有时会使用IF-MODIFIED-SINCE头连接到服务器,并获得304回复,有时则不会。对于已经缓存的Javascript文件,我根本不希望浏览器连接到服务器,这会降低页面加载速度。 *已缓存:只需多次输入页面,而不是使用F5(这显然会导致重新加载),而是按地址栏中的enter键,或打开新选项卡并输入相同的地址

可在此处查看示例页面: 我通过输入Chrome的开发工具F12、检查网络选项卡、按状态排序来分析这个问题。有时只有占位符条目获得304,有时Javascript条目也获得304

对于Javascript文件bugs_mati_…1391870865.js,HTTP头为: 访问控制允许来源:* 缓存控制:最大年龄=31536000,公共 连接:保持活力 内容编码:gzip 内容类型:应用程序/javascript 日期:2014年2月8日星期六14:57:08 GMT 过期时间:2015年2月8日星期日14:55:25 GMT 最后修改:2014年2月8日星期六14:47:48 GMT 服务器:NetDNA缓存/2.2 传输编码:分块 更改:接受编码,用户代理 X缓存:命中 我不明白为什么Chrome会这样。我甚至不能高度自信地再现这个问题,行为不稳定。我迷路了。 如果有任何帮助,我将不胜感激, 提前感谢大家,,
Mati

唯一一件看起来可疑的事情是,您正在发送最后一个修改过的标题。这似乎是多余的,因为您还发送了最大年龄和显式过期。我删除了上次修改的标题,但它不起作用。[已添加回,更改越少越好]上次修改的标题不是多余的。如果你也使用etag,它可能是多余的。他们有相同的目标,但etag更现代