2012-07-19 7 views
14

Mi sistema es Windows 7 x64, Chrome 20.0.1132.57 m.HTTP El encabezado "Caduca" no funciona en Chrome

En mi encabezado de respuesta HTTP, que tengo:

Cache-Control: public, max-age=1000 
Expires: *some date* 

En IE & FF, la página se almacena en locales, y cuando intento acceder de nuevo introduciendo la URL y pulsa enter, no hay petición enviar y la página se muestra correctamente. Pero en Chrome, siempre enviar una petición al servidor con el siguiente encabezado:

Cache-Control: max-age=0 

que no desea que el cliente envíe una solicitud a mi servidor y luego Responder 304. Quiero ahorrar el tiempo de ida y vuelta .

Respuesta

15

Tenga cuidado cuando realice la prueba. Noté que en Chrome versión 20 si presiono F5 para volver a cargar la página, en el panel de red veo nuevas solicitudes. Hoewer si coloco el cursor en la barra de título, después de la url de la página actual, y presiono enter, obtengo los recursos de la memoria caché, cuyo encabezado se configuró en caché.

También es mejor utilizar la edad máxima. La edad máxima y Vencimiento es la misma, pero en la edad máxima se especifica la duración.

ver esto: http://betterexplained.com/articles/how-to-optimize-your-site-with-http-caching/ los métodos 3 y 4.

+0

me temo que esto no es lo que veo. Intenté presionar Enter en la barra de navegación, pero obtuve el mismo resultado. Creo que Chrome puede adivinar la ip del servidor, y si es un host local, siempre hará la solicitud ... tal vez Google quiera hacer felices a los desarrolladores ... pero ellos no :( – davidshen84

+0

incluso en este sitio, en crome cuando inspecciono las solicitudes de red, veo que ga.js tiene el siguiente encabezado de respuesta: Vence: mar, 14 de agosto de 2012 20:37:18 GMT. En caso de actualizar F5, vuelve a cargarse, en caso de ingresar en el navegador barra viene del caché –

+3

creo que lo resolví ... si es una solicitud principal, iniciada por el usuario o por JS, Chrome ignorará max-age y exigirá que se envíe ... infierno – davidshen84

3

tuve un problema similar y descubrí que si se hace el pedido con una nueva pestaña de Chrome va a trabajar.

Cuestiones relacionadas