Tôi đang xuất một hình ảnh lên trình duyệt bằng cách sử dụng đối tượng Zend_Controller_Response
. Đó là ý định của tôi để áp dụng bộ nhớ đệm cho hình ảnh, tuy nhiên có điều gì đó khiến tiêu đề Cache-Control bị ghi đè.Tiêu đề kiểm soát bộ nhớ cache được sửa đổi theo phiên PHP?
Mã của tôi là như sau:
$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);
Sản lượng (như xem trong Firebug) là:
Tiêu đề phản hồi
- ngày
- Wed, 25 Tháng 3 2009 10:34:40 GMT
- server
- Apache/2.2.3 (Ubuntu) mod_ssl/2.2.3 OpenSSL/0.9.8c
- Expires
- Thu, ngày 26 tháng 3 năm 2009 10:34:41 GMT
- Cache-Control
- no-store , no-cache, phải xác nhận lại, bưu điện kiểm tra = 0, trước kiểm tra = 0, max-age = 3600
- Last Modified
- ETag
- d3ef646c640b689b0101f3e03e08a524
- Content-Length
- X-UA-Tương thích
- IE = EmulateIE7
- X-Robots-Tag
- noindex
- Keep-Alive
- timeout = 15, max = 100
- kết nối
- Keep- Alive
- Loại nội dung
- image/jpeg
Request Headers
- chủ
- khall. ####. ###. ###### com.
- User-Agent
- Mozilla/5.0 (X11; U; Linux i686; en-US; rv: 1.9.0.7) Gecko/2009030422 Ubuntu/8.04 (hardy) Firefox/3.0 .7
- Chấp nhận
- Văn bản/html, ứng dụng/xhtml + xml, application/xml; q = 0.9, */*; q = 0,8
- Accept-Language
- en-gb, en; q = 0,5
- Accept-Encoding
- gzip, deflate
- Accept-Charset
- ISO-8859-1, utf-8; q = 0,7, *; q = 0.7
- Giữ-Alive
- kết nối
- giữ-sống
- Referer
- http: //khall.####.###.######.com/
- Cookie
- PHPSESSID = abf5056e1289d3010448107632a1c1bd
Như bạn có thể thấy, việc kiểm soát bộ nhớ cache được sửa đổi để bao gồm :
no-store, no-cache, phải xác nhận lại, bưu điện kiểm tra = 0, trước kiểm tra = 0
nghi ngờ của tôi là hướng tới các cookie phiên được gửi trong yêu cầu. Có ai biết một cách để gửi tiêu đề mà tôi yêu cầu, nhưng vẫn giữ phiên trong yêu cầu? Ứng dụng của tôi chạy qua bootstrap và các phiên được xử lý bằng Zend_Session.
Mọi trợ giúp sẽ được đánh giá cao.
GAH! Tôi nên tự đập mình vào mặt. Tôi nghĩ rằng tôi đã vượt qua tham số đó! Bạn hoàn toàn đúng, đó là câu trả lời. –
Hehe, tôi luôn làm thế! Bằng chứng? xem http://stackoverflow.com/questions/657600/how-do-i-correctly-create-a-zend-feed – karim79