¿Cómo detengo el envío de Chrome Cache-control: max-age = 0 cuando presiono enter?

27

Tengo una conexión ligeramente débil y estoy tratando de mejorar mi experiencia de navegación con el uso de un proxy local. Sin embargo, según mi investigación , si presiono 'enter' en mi navegador en una URL existente, enviará un Cache-Control: max-age=0encabezado al proxy, que, a su vez, realizará viajes de ida y vuelta al servidor para revalidar el contenido.

No quiero particularmente esto; si el objeto está obsoleto, el caché lo volverá a buscar, pero si no está obsoleto, no veo por qué me gustaría que el objeto se revalidara cada vez. Si sospecho que la página es antigua, tengo shift-F5 y no tengo miedo de usarla.

Entonces, ¿hay un sintonizable en algún lugar detrás de escena en Chrome que desactive este comportamiento molesto?

womble
fuente

Respuestas:

25

He descubierto que si navega a una página a través de su botón de retroceso o un enlace, Chrome no envía el encabezado max-age = 0 y usualmente (si el servidor apache en el otro lado está configurado para el almacenamiento en caché) usará un versión en caché de la página.

Sin embargo, cuando ingresa la URL (por ejemplo, www.example.com/abcd/index.html) directamente en la barra de direcciones y luego presiona Return, Chrome siempre enviará el Cache-Control: max-age=0encabezado, lo que evita el almacenamiento en caché.

Svenny
fuente
5

Es posible modificar los encabezados que Chrome envía a un servidor web utilizando los scripts de usuario (ala greasemonkey) o extensiones. Aquí hay una extensión que debería funcionar: ModHeader

De acuerdo con la introducción y la captura de pantalla, agregar un encabezado como cache-control max-age=1000debería ser relativamente sencillo. También admite listas blancas de dominio para evitar que se envíen encabezados a sitios web específicos. Es posible que necesite habilitar ciertos experimentos en chrome: // flags para este trabajo.

demostración de agregar encabezados

Jeremy W
fuente
1

Los navegadores se comportan según los encabezados de respuesta que reciben. Si el navegador recibe encabezados de respuesta como

Cache-Control: private
Expires: Thu, 01 Jan 1970 00:00:00 UTC

entonces, el navegador siempre solicitará con Cache-Control: max-age=0. Esto suele suceder con el contenedor Tomcat, donde BaseAuthenticatoragrega estos encabezados de respuesta cuando la variable disableProxyCachinges verdadera. Si tiene un problema similar, puede visitar este enlace para encontrar una solución.

Espero que esto ayude en cierta medida :)

Sunil Dabburi
fuente