2016-02-05 68 views
0

在Web应用程序的本地开发中,我有几千个JS文件。Chrome的缓存无法正常工作时刷新

为了不等待15秒,每次刷新,我添加了缓存头的响应

Cache-Control: max-age=3600, public 

在页面上,我添加缓存断路器到改变,如果该文件已更改的URL。

<script src="file1.js?sha1=abc..."></script> 
<script src="file2.js?sha1=def..."></script> 
<script src="file3.js?sha1=123..."></script> 
... 

不适用于Chrome或Firefox。无论我如何刷新页面(“硬”,“软”),浏览器总是对这些上千个文件中的每一个文件提出请求。

有没有办法让Chrome和Firefox在刷新页面时不忽略链接资源的缓存?

回答

0

浏览器通常会执行“304未修改?”检查文件,或者至少可以正常工作的文件。你确定他们正在请求并下载每一个文件吗?或者只是做一个这样的支票?

如果有成千上万的文件,我肯定会考虑合并和缩小它们,因为这意味着您的网站每次加载都会很慢。

+0

是的,他们做304未修改......数千次。我不会在开发过程中进行缩小,因为这会让他们更难阅读并且需要时间。 –

+0

304 Not Modified不会下载整个文件,除非它实际发生了改变(因此“未修改?”的问题)并且将使用浏览器的缓存副本。因此,请仔细检查一下,即使您的文件没有更新,您的缓存断路器也不会随时更改,因为如果每次都看到文件下载,则缓存断路器的问题可能更多。否则,304是默认行为。 – zerohero