Estoy enviando una imagen al navegador utilizando un objeto Zend_Controller_Response
. Es mi intención aplicar el almacenamiento en caché a la imagen, sin embargo, algo está causando que se sobrescriba el encabezado Cache-Control.Encabezado de caché-control modificado por sesión de PHP?
Mi código es el siguiente:
$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);
La salida (como se ve en Firebug) es:
encabezados de respuesta
- Fecha
- Mie 25 Mar 2009 10:34:40 GMT
- Servidor
- Apache/2.2.3 (Ubuntu) mod_ssl/2.2.3 OpenSSL/0.9.8c
- Expira
- Jue 26 Mar 2009 10:34:41 GMT
- Cache-Control
- no-store , no-cache, debe-revalidate, después de la comprobación = 0, pre-check = 0, max-age = 3600
- Last-Modified
- Etag
- d3ef646c640b689b0101f3e03e08a524
- Content-Length
- X-UA-Compatible
- IE = EmulateIE7
- X-Robots-Tag
- noindex
- Keep-Alive
- timeout = 15, max = 100
- Conexión
- mantener- Vivo
- Tipo de contenido
- imagen/jpeg
Solicitar encabezados
- anfitrión
- 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
- Aceptar
- texto/html, application/xhtml + xml, application/xml; q = 0,9, */*; q = 0,8
- Accept-Language
- en-gb, en; q = 0,5
- Accept-Encoding
- gzip, desinflar
- Accept-Charset
- ISO-8859-1, UTF-8; q = 0.7, *; q = 0.7
- mantenimiento de conexiones activas
- conexión
- de mantenimiento de conexión
- Referer
- http: //khall.####.###.######.com/
- Cookies
- PHPSESSID = abf5056e1289d3010448107632a1c1bd
Como se puede ver, se modifica el control de caché para incluir :
no-store, no-cache, debe-revalidate, después de la comprobación = 0, pre-check = 0
Mi sospecha es hacia la cookie de sesión que se envía en la petición. ¿Alguien sabe una forma de enviar el encabezado que requiero, y aún así mantener la sesión en la solicitud? Mi aplicación se ejecuta a través de un bootstrap, y las sesiones se manejan con Zend_Session.
Cualquier ayuda sería apreciada.
GAH! Debería golpearme en la cara. ¡Pensé que estaba pasando ese parámetro! Sin embargo, tienes razón, esa es la respuesta. –
Jeje, lo hago todo el tiempo! ¿Prueba? ver http://stackoverflow.com/questions/657600/how-do-i-correctly-create-a-zend-feed – karim79