Javascript Firefox 4.0.1忽略过期HTTP头
在我看来,当我从A页浏览到B页时,如果B页在A页中有相同的js/css/img/etc资源,浏览器应该使用A页中的缓存,因为它在同一个会话中,所以这将结束304请求(如果资源设置了exprie time,它将不会请求) 然而,我今天遇到了一个问题 在Firefox中,当我浏览页面A时,firebug中的瀑布是 但是当我点击一个链接进入B页时,firebug中的瀑布是 js/css仍然是从服务器下载的,而不是302请求 我的Firefox版本为4.0.1,缓存未禁用Javascript Firefox 4.0.1忽略过期HTTP头,javascript,http,firefox,browser,Javascript,Http,Firefox,Browser,在我看来,当我从A页浏览到B页时,如果B页在A页中有相同的js/css/img/etc资源,浏览器应该使用A页中的缓存,因为它在同一个会话中,所以这将结束304请求(如果资源设置了exprie time,它将不会请求) 然而,我今天遇到了一个问题 在Firefox中,当我浏览页面A时,firebug中的瀑布是 但是当我点击一个链接进入B页时,firebug中的瀑布是 js/css仍然是从服务器下载的,而不是302请求 我的Firefox版本为4.0.1,缓存未禁用 Firefox中的这种行为
Firefox中的这种行为正确吗 您是指
304未修改的响应
您只会在条件请求上获得该响应,只有在使用适当的缓存头响应了对同一URI的上一个请求时,浏览器才会发出该响应
请参阅示例,依此类推。您指的是304未修改的响应
您只会在条件请求上获得该响应,只有在使用适当的缓存头响应了对同一URI的上一个请求时,浏览器才会发出该响应
请参阅示例,依此类推。我通过添加缓存控制头来解决此问题。
谢谢@CodeCaster的建议
在我的情况下,所有的js/css都是从Apache下载的。我已经为这些静态内容设置了expires头
然而,这个旧版本的Firefox似乎触发了一个奇怪的请求,忽略expires标签。我通过添加一个缓存控制头来解决这个问题。
谢谢@CodeCaster的建议
在我的情况下,所有的js/css都是从Apache下载的。我已经为这些静态内容设置了expires头
然而,这个旧版本的Firefox似乎触发了一个奇怪的请求,忽略expires标签。这对SO imo来说并不是一个问题。无论哪种方式,它都取决于您的客户端设置和服务器设置(服务器可以声明文件应如何缓存)。此外,您为什么要使用Firefox 4.0.1?@Kippie我们的客户端应用程序基于此版本,无法更改。我下载了一个新版本并try@Kippie我在Firefox 24中查看了它,所有的资源都在BFCache中,这符合我的观点。但是在旧版本的Firefox中,这太奇怪了。这对我来说都不是问题。不管怎样,这取决于您的客户端设置和服务器设置(服务器可以说明文件应如何缓存)。此外,您为什么要使用Firefox 4.0.1?@Kippie我们的客户端应用程序基于此版本,无法更改。我下载了一个新版本并try@Kippie我在Firefox 24中检查它,所有的资源都在BFCache中,这符合我的观点。但是在旧版本的Firefox中,这太奇怪了。thx,我指的是304,键入错误--thx,我是说304和打字错误--