2017-03-16 71 views
1

在测试我正在处理的webapp时,我注意到firefox似乎忽略了用户图像的缓存标头。Firefox未缓存图片

所有这些图像通过一个PHP脚本加载,这里是一个示例响应:

Cache-Control: private, max-age=0 
Connection: Keep-Alive 
Content-Disposition: inline; filename="Immagine.jpg" 
Content-Encoding: gzip 
Content-Length: 33103 
Content-Type: image/jpeg 
Date: Thu, 16 Mar 2017 15:24:39 GMT 
Etag: allegato-4f04349dba5b5f636a439af71ed75109b701a01d6ac5dfc287dee9729ce4e2098b02e39a2d673789213f5fdf20ceb21a0fc26f17e93e602e38238c3681b9bd00 
Expires: Fri, 16 Jun 2017 16:24:40 +0200 
Keep-Alive: timeout=5, max=100 
Last-Modified: Tue, 16 Jul 2013 10:18:04 +0200 
Server: Apache 
Vary: Accept-Encoding 

,这里是Firefox浏览器发送的请求的相关部分:

Host: mywebapp.local 
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0 
Accept: */* 
Accept-Language: it-IT,it;q=0.8,en-US;q=0.5,en;q=0.3 
Accept-Encoding: gzip, deflate 
Connection: keep-alive 
Pragma: no-cache 
Cache-Control: no-cache 

认为这个问题可能是由于FF发送了那些PragmaCache-Control头文件,但是我多次检查并启用了缓存。

在Chrome,其正确缓存“相同”的要求,看起来是这样的:

Accept:image/webp,image/*,*/*;q=0.8 
Accept-Encoding:gzip, deflate, sdch 
Accept-Language:it-IT,it;q=0.8,en-US;q=0.6,en;q=0.4 
Connection:keep-alive 
DNT:1 
Host:mywebapp.local 
If-Modified-Since:Tue, 16 Jul 2013 10:18:10 +0200 
If-None-Match:allegato-4f04349dba5b5f636a439af71ed75109b701a01d6ac5dfc287dee9729ce4e2098b02e39a2d673789213f5fdf20ceb21a0fc26f17e93e602e38238c3681b9bd00 
User-Agent:Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36 

我怎么能确定这个问题是关系到我自己的浏览器,或者更确切地说,在web应用程序本身?

+0

关于“我多次检查并启用了缓存”。您还必须在“工具箱选项”(ctrl + shift + i上的面板)中取消选中“在工具箱打开时禁用HTTP缓存”选项(默认选中该选项)。我想你也是这样做的,对吧? –

+0

我不知道那个开关D:它实际上是问题的罪魁祸首......我现在怀疑是否删除这个问题或自我回答。 –

+0

或我可以让它回答,你可以接受它:) –

回答

1

在Firefox上,还有一个开关必须取消选中,才能在工具箱打开时禁用缓存。您打开工具箱(Ctrl + Shift + i),导航到Toobox选项,并取消选中Disable HTTP Cache when toolbox is open,默认选中