Entiendo que Ctrl+ Actualizar recupera contenido nuevo del navegador sin leer el caché. Entonces, ¿para qué sirve Ctrl+ Shift+ Actualizar?
Ctrl + El encabezado de solicitud de actualización es así:
Cache-Control : max-age=0
para Ctrl+ Shift+ Actualizar
Pragma : no-cache <br>
Cache-Control : no-cache
¿Cuál es la diferencia real?
Respuestas:
Ambos son idénticos al navegador en la máquina local. Los encabezados que mencionaste son la única diferencia.
El encabezado Ctrl + Actualizar significa que cualquier servidor de almacenamiento en caché en el camino debe devolver una copia nueva de la página.
Los encabezados Ctrl + Shift + Refresh significan que cualquier servidor de almacenamiento en caché en el camino debe devolver una copia nueva de la página, y tampoco debe almacenar en caché la página para futuras solicitudes. En otras palabras, la próxima vez que se solicite la página, debe usar un caché anterior de la página o solicitar una copia nueva, pero no debe usar esta.
Pragma: no-cache es la versión HTTP 1.0 de Cache-Control: no-cache. No hay HTTP 1.0 equivalente a Cache-Control: max-age = 0.
RFC2616 sección 14 subsección 9 tiene información relevante: w3c.org: RFC2616 sec 14.9.1
fuente
Hay otra diferencia, y una grande en eso.
Cuando presiona Ctrl + Actualizar, por cada objeto en caché que tenga un encabezado
Last-Modified
oETag
, el navegador emitirá una solicitud con un encabezadoIf-Modified-Since
oIf-None-Match
. El servidor puede optar por responder con a304 Not Modified
, sin reenviar ningún dato (suponiendo que los datos no se modifiquen).Cuando presiona Ctrl + Shift + Actualizar, el navegador no emitirá tales
If-*
encabezados condicionales , dejando al servidor sin otra opción que enviar los datos nuevamente.fuente