浏览器不是在HTTPS中缓存图像(HTTP工作正常)。即使使用Cache-Control:public

时间:2014-05-27 07:03:45

标签: html internet-explorer google-chrome http ssl

我试图关注Google's caching recommendation,但在使用HTTPS时,IE和Chrome都没有缓存我的图片。第二个请求甚至不是有条件的GET。如果我只是切换到HTTP,它就可以正常工作。

此处的请求信息,根据Chrome的请求记录程序:

Remote Address: ::1:443
Request URL: https://localhost/getmyimage.php?id=123
Request Method: GET
Status Code: 200 OK

请求标题

Accept: image/webp,*/*;q=0.8
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en;q=0.8
Connection: keep-alive
Cookie: PHPSESSID=gbk4vk7ejlr20nqgajcqgskul7
Host: localhost
Referer: https://localhost/
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.114 Safari/537.36

查询字符串参数

id: 123

响应标题

Cache-Control: public
Connection: Keep-Alive
Content-Length: 3224
Content-Type: image/png
Date: Tue, 27 May 2014 06:53:03 GMT
Expires: Mon, 25 Aug 2014 06:53:03 GMT
Keep-Alive: timeout=5, max=99
Last-Modified: Mon, 24 Feb 2014 02:17:21 GMT
Server: Apache/2.4.7 (Win32) OpenSSL/1.0.1e PHP/5.5.9
X-Powered-By: PHP/5.5.9

1 个答案:

答案 0 :(得分:3)

我认为这是因为url格式,你可以使用apache的mod_rewrite为这个脚本给出的图像制作一个url格式,看起来像localhost/image/123.png

修改

阅读你的评论之后,我可以说这不是你的服务器的配置,你根据thisthis无法做任何事情,因为你实施了HTTPS {{1}已经设定了。