我正在使用Zend_Controller_Response对象将图像输出到浏览器.我打算将缓存应用于图像,但是有些东西会导致Cache-Control标头被覆盖.
我的代码如下:
$this->getResponse()
->setHeader('Last-Modified', $modifiedTime, true)
->setHeader('ETag', md5($modifiedTime), true)
->setHeader('Expires', $expires, true)
->setHeader('Pragma', '', true)
->setHeader('Cache-Control', 'max-age=3600')
->setHeader('Content-Type', $mimeType, true)
->setHeader('Content-Length', $size, true)
->setBody($data);
Run Code Online (Sandbox Code Playgroud)
输出(在Firebug中查看)是:
响应标题
- 日期
- 2009年3月25日星期三,格林威治标准时间10:34:40
- 服务器
- Apache/2.2.3(Ubuntu)mod_ssl/2.2.3 OpenSSL/0.9.8c
- 过期
- 星期四,2009年3月26日10:34:41 GMT
- 缓存控制
- no-store,no-cache,must-revalidate,post-check = 0,pre-check = 0,max-age = 3600
- 最后修改
- 1234872514
- ETAG
- d3ef646c640b689b0101f3e03e08a524
- 内容长度
- 1452
- X-UA兼容
- IE = EmulateIE7
- X-Robots-Tag中
- NOINDEX
- 活着
- 超时= 15,最大= 100
- 连接
- 活着
- 内容类型
- 图像/ JPEG
请求标题
- 主办
- khall.####.###.######.com
- 用户代理
- Mozilla/5.0(X11; U; Linux i686; en-US; rv:1.9.0.7)Gecko/2009030422 Ubuntu/8.04(hardy)Firefox/3.0 .7
- 接受
- text/html的,应用/ XHTML …