在我看来,当我从A页浏览到B页时,如果B页在A页中有相同的js/css/img/etc资源,浏览器应该使用来自A页的缓存,因为它位于同一个会话中,因此这将最终产生304个请求(如果资源设置了它不会请求的执行时间设置)。
然而,我今天遇到了一个问题。
在Firefox中,当我浏览A页时,防火墙中的瀑布是

但是当我点击一个链接到B页时,火焰中的瀑布是

js/css仍然是从服务器下载的,而不是302请求。
我的Firefox版本是4.0.1,缓存没有禁用。
在Firefox中这种行为正确吗?
发布于 2013-10-17 08:13:19
你是说304 Not Modified的回应。
只有在有条件请求时才会得到该响应,只有当对同一个URI的前一次请求用适当的缓存头响应时,浏览器才会发出该请求。
例如,请参见HTTP缓存、HTTP缓存头入门指南等。
发布于 2013-10-17 12:23:04
我通过添加一个缓存控制头来解决这个问题。欢迎@CodeCaster的建议。
在我的情况下,所有的js/css都是从Apache.I为这些静态内容设置的过期标头下载的。
然而,这个旧版本的Firefox似乎触发了一个奇怪的请求,忽略了。
https://stackoverflow.com/questions/19421309
复制相似问题