Convencer a Firefox para enviar un If-Modified-since encabezado a través de HTTPS

StackOverflow https://stackoverflow.com/questions/16483

  •  08-06-2019
  •  | 
  •  

Pregunta

¿Cómo puedo convencer a Firefox (3.0.1, si lo que importa) para enviar un If-Modified-since encabezado en una solicitud HTTPS?Envía el encabezado si la solicitud utiliza HTTP plano y a mi servidor, de forma puntillosa, honra a él.Pero cuando me piden el mismo recurso desde el mismo servidor con el protocolo HTTPS en lugar (es decir, simplemente cambiando el http:// en la dirección URL https://), a continuación, Firefox no enviar un If-Modified-since encabezado en todos.Es este comportamiento, por mandato de la SSL spec o algo?

Aquí hay algunos ejemplos de HTTP y HTTPS de solicitud/respuesta de pares, sacó usando el Live HTTP Encabezados de extensión de Firefox, con algunas diferencias en negrita:

Solicitud y respuesta de HTTP:

http://myserver.com:30000/scripts/site.js

GET /scripts/site.js HTTP/1.1
Host: myserver.com:30000
User-Agent: Mozilla/5.0 (...) Gecko/2008070206 Firefox/3.0.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
If-Modified-Since:Tue, 19 Aug 2008 15:57:30 GMT
If-None-Match:"a0501d1-300a-454d22526ae80"-gzip
Cache-Control:max-age=0

HTTP/1.x 304 Not Modified
Date: Tue, 19 Aug 2008 15:59:23 GMT
Server: Apache/2.2.8 (Unix) mod_ssl/2.2.8 OpenSSL/0.9.8
Connection: Keep-Alive
Keep-Alive: timeout=5, max=99
Etag: "a0501d1-300a-454d22526ae80"-gzip

HTTPS solicitud/respuesta:

https://myserver.com:30001/scripts/site.js

GET /scripts/site.js HTTP/1.1
Host: myserver.com:30001
User-Agent: Mozilla/5.0 (...) Gecko/2008070206 Firefox/3.0.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive

HTTP/1.x 200 OK
Date: Tue, 19 Aug 2008 16:00:14 GMT
Server: Apache/2.2.8 (Unix) mod_ssl/2.2.8 OpenSSL/0.9.8
Last-Modified: Tue, 19 Aug 2008 15:57:30 GMT
Etag: "a0501d1-300a-454d22526ae80"-gzip
Accept-Ranges: bytes
Content-Encoding: gzip
Content-Length: 3766
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/javascript

ACTUALIZACIÓN:Configuración browser.cache.disk_cache_ssl true hizo el truco (lo cual es extraño porque, como Nickolay puntos, hay todavía la memoria caché).La adición de un "Cache-control:público" encabezado de la respuesta también trabajó.Gracias!

¿Fue útil?

Solución

Las solicitudes HTTPS no se almacenan en caché para el envío de un If-Modified-since no tiene ningún sentido.El no almacenamiento en caché es una precaución de seguridad.

El no caché en el disco es una medida de seguridad pre-precaución, pero parece que, de hecho, afecta a la If-Modified-Since comportamiento (de refilón sobre el código).

Prueba a configurar el Firefox preferencia (en about:config) el navegador.la memoria caché.disk_cache_ssl a cierto.Si que ayuda, trate de enviar Cache-Control:público encabezado en su respuesta.


ACTUALIZACIÓN: Firefox comportamiento se ha cambiado por Gecko 2.0 (Firefox 4) -- HTTPS ahora, el contenido almacenado en caché.

Otros consejos

Las solicitudes HTTPS no se almacenan en caché para el envío de un If-Modified-Since no tiene ningún sentido.El no almacenamiento en caché es una precaución de seguridad.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top