设置压缩标头和压缩,缓存标头?

时间:2011-01-09 16:15:50

标签: php http-headers

使用图像输出发送哪些标题(打开时image.php允许用户下载图像)将该图像的缓存时间设置为3天(而不是从用户端重新下载图像)?

如何压缩图像并将其压缩,我应该发送哪些标题告诉浏览器该图像是否已压缩?

谢谢。

2 个答案:

答案 0 :(得分:0)

嗯,最简单的压缩方法是在运行apache的情况下从htaccess级别启用deflate或gzip。如果没有,您可以在文档开头添加ob_gzhandler()函数作为ob_start()回调,如下所示:

<?php
if( !ob_start("ob_gzhandler") ) {
    ob_start();
}
//Feel free to echo image data and whatnot, the callback deals with the headers, compatibility, and compression!
?>

请注意,这需要zlib扩展名。

您也可以add this function as the ob callback in the php.ini file或启用zlib.output_compression指令。

至于设置缓存,只需在输出文本之前添加此header()调用:

<?php
header('Cache-Control: max-age='.(5184000 * 3).', must-revalidate'); //Cache should last for 3 days
?>

答案 1 :(得分:0)

这些标题应该没问题

  • 年龄:XXXXXX
  • 缓存控制:最大年龄= 259200
  • 的Content-Length:XXXXXX
  • 内容类型:image / XXXXXX
  • 日期:星期六,XXXXXX
  • 的Etag:XXXXXX
  • 上次修改:XXXXXX