PHP脚本输出图像,标题显示没有缓存+ gzipping

时间:2013-03-11 09:51:49

标签: php apache caching gzip html5boilerplate

我正在从html5样板库开发一个项目。我调用PHP脚本来返回用户的头像图像,使用header()来设置适当的内容类型('image / jpeg','image / png','image / gif'是我允许的唯一类型)。

当我请求图像时,服务器正在响应gzip,no-cache响应:

Cache-Control:no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Cache-Control:public
Connection:Keep-Alive
Content-Encoding:gzip
Content-Type:image/jpeg
Date:Mon, 11 Mar 2013 09:18:23 GMT
Expires:Thu, 19 Nov 1981 08:52:00 GMT
Keep-Alive:timeout=5, max=92
Pragma:no-cache
Server:Apache/2.2.24 (Unix) mod_ssl/2.2.24 OpenSSL/0.9.8e-fips-rhel5 mod_bwlimited/1.4
Transfer-Encoding:chunked
Vary:Accept-Encoding,User-Agent
X-UA-Compatible:IE=Edge,chrome=1

这显然不太理想......我能够显式设置缓存头,但这并不能解决根问题。如果我设置Content-Encoding:identity,它会发送gzip压缩数据并且浏览器会混淆。

The .htaccess file

......我刚刚测试了另外一件事。我在PHP脚本中使用了ini_set('zlib.output_compression','Off'),并且还重命名了.htaccess文件,我仍然得到相同的结果。我现在真的很困惑。服务器运行带有easyapache的CentOS 5.9(对不起!)

如何使用PHP脚本提供图像并对其应用适当的缓存和压缩规则?

编辑:我发布这个的那一刻,我当然解决了部分问题... gzip问题是在其中一个配置文件中设置了一些天真的规则。删除它们允许.htaccess文件完成其工作,部分无论如何。它仍然禁用缓存。

0 个答案:

没有答案