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发送了那些Pragma
和Cache-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应用程序本身?
关于“我多次检查并启用了缓存”。您还必须在“工具箱选项”(ctrl + shift + i上的面板)中取消选中“在工具箱打开时禁用HTTP缓存”选项(默认选中该选项)。我想你也是这样做的,对吧? –
我不知道那个开关D:它实际上是问题的罪魁祸首......我现在怀疑是否删除这个问题或自我回答。 –
或我可以让它回答,你可以接受它:) –