2009-07-27 7 views
6

He estado buscando en las normas - pero no estaba del todo seguro acerca de lo siguiente:Max-edad y 304 Not Modified Procesamiento

Si tenemos una variante (de recursos, la imagen, la página, etc) que se sirve con una configuración de caché de max-age = 259200 (3 días) y el servidor también está procesando ETags y las últimas fechas de modificación, ¿qué sucederá cuando se alcance el máximo de edad? ¿pero el recurso no se ha modificado?

Lo que espero que suceda es que después de 3 días - el cliente volverá a solicitar el recurso - y si no ha cambiado recibirá una respuesta 304 No modificada. Si la respuesta de control de caché (durante la respuesta 304) también contiene max-age = 259200 - entonces espero que el cliente continúe usando su copia en caché local y no vuelva a solicitarla durante otros 3 días.

Lo que me temo que sucederá es que una vez que se alcanza el máximo de edad - el cliente ya no almacenará en caché el recurso - haciendo una solicitud nueva cada vez que se carga el recurso - seguido de una respuesta 304 No modificada si recurso no ha sido modificado. es decir, ahora recibimos solicitudes http para cada uso en lugar de usar la memoria caché local por otros 3 días.

¿Pensamientos?

Respuesta

3

Caché durante 3 días más. RFC 2616 10.3.5:

Si un caché utiliza una respuesta recibida 304 para actualizar una entrada de caché, la memoria caché debe actualizar la entrada para reflejar los nuevos valores en el campo indicados en la respuesta.

Details about age calculation.

+0

Gracias! Eso me enseñará a leer las especificaciones un poco más de cerca y usar un tamaño de letra más grande :-). –

Cuestiones relacionadas