我是着陆页创作系统的开发者。
为了让我们的页面加载更快,我们使用强制缓存技术 - 着陆页中的所有资源(图像/ js / css /字体)都是将在一年后到期。文件路径是唯一的,文件永远不会改变。
它应该可以找到,但是在Chrome中浏览这些页面时出现问题 - 当它加载已经缓存的Javascript文件时(*)浏览器有时会使用IF-MODIFIED-SINCE标题连接到服务器(获得304回复)有时却没有。对于已经缓存的Javascript文件,我不希望浏览器完全连接到服务器,这会减慢页面加载速度。
(*)已经缓存:只需输入一次页面,而不是使用F5(这显然会导致重新加载),但是在地址栏中按Enter键,或者打开一个新选项卡并输入相同的地址。
此处可以查看示例页面:http://mati.ravpage.co.il/placeholders
我通过输入Chrome的开发工具(F12),检查网络选项卡,按状态排序来分析问题。有时只有“占位符”条目获得304,有时也会获得Javascript条目。
对于Javascript文件bugs_mati _... 1391870865.js,HTTP标头是:
访问控制允许来源:*
缓存控制:max-age = 31536000,public
连接:保持活跃
内容编码: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-缓存:HIT
我不明白为什么Chrome的行为方式如此。我甚至无法高度自信地重现这个问题,这种行为是不稳定的。我迷路了。
我很感激任何帮助,
谢谢先进,
马蹄