If-Modified-Since
Uso
La cabecera If-Modified-Since habilita la revalidación de caché en función de la fecha de modificación de un recurso. El cliente incluye la marca de tiempo de la cabecera Last-Modified recibida en una respuesta anterior. Si el recurso no ha cambiado desde la fecha indicada, el servidor devuelve una respuesta 304 Not Modified sin cuerpo, con lo que ahorra ancho de banda y tiempo de procesamiento. Si el recurso ha cambiado, el servidor envía una respuesta 200 normal con el contenido actualizado.
La cabecera se aplica únicamente a las solicitudes GET y HEAD. Para otros métodos, la cabecera complementaria If-Unmodified-Since proporciona una lógica condicional basada en fechas.
Cuando If-Modified-Since e If-None-Match aparecen en la misma solicitud, If-None-Match tiene prioridad. La comparación basada en ETag es más fiable, porque las marcas de tiempo tienen una resolución de un segundo y el desfase de reloj entre el servidor y las cachés intermedias introduce casos límite.
El valor de la fecha sigue el formato HTTP-date descrito en la especificación de la cabecera Date: nombre del día, fecha, hora en horas, minutos y segundos, seguida de GMT.
Nota
Googlebot envía If-Modified-Since en las solicitudes de rastreo con la marca de tiempo del último rastreo del contenido. Los servidores que devuelven 304 para contenido sin cambios ahorran tiempo de procesamiento y recursos, lo que mejora indirectamente la eficiencia del rastreo. Los servidores también pueden devolver 304 de forma proactiva ante cualquier solicitud de Googlebot cuando el contenido no ha cambiado, con independencia de si la solicitud incluye cabeceras condicionales. Establecer el campo max-age de la cabecera de respuesta Cache-Control en el número de segundos que se espera que el contenido permanezca sin cambios ayuda a los rastreadores a determinar cuándo volver a rastrear una URL.
Ejemplo
Un cliente revalida un recurso en caché. El servidor devuelve 304 Not Modified si el recurso no ha cambiado desde el 1 de junio de 2022 a las 08:00 GMT. En caso contrario, el servidor envía el recurso actualizado completo.
If-Modified-Since: Wed, 01 Jun 2022 08:00:00 GMT
Una solicitud condicional emparejada con el Last-Modified de la respuesta anterior. El cliente almacena la fecha de modificación y la envía en la siguiente solicitud al mismo recurso.
Last-Modified: Wed, 01 Jun 2022 08:00:00 GMT
En la siguiente solicitud:
If-Modified-Since: Wed, 01 Jun 2022 08:00:00 GMT
Nota
Para obtener ayuda con SEO y almacenamiento en caché, contacte con los consultores SEO exempleados de Google Search Brothers.