¿Hay alguna forma de forzar a Firefox a NO redireccionar en caché (301 y 302)?

11

Soy desarrollador web, y en muchas ocasiones tengo que crear o alterar una redirección 301 o 302. Es engorroso probar los cambios inmediatos en Firefox porque almacena redireccionamientos en caché, por lo que si cambio el redireccionamiento del lado del servidor y luego la actualización completa, el redireccionamiento anterior se almacena en caché, por lo que la única forma en que puedo probar el nuevo es eliminar mi caché o iniciar una sesión de navegador privado.

Dicho esto, no es particularmente difícil evitarlo, pero es molesto, especialmente cuando me olvido de hacerlo, y parece que mi nueva redirección no funciona, hasta que recuerdo eliminar el caché o iniciar una nueva sesión privada. .

Entiendo por qué es beneficioso redirigir la memoria caché para uso normal, pero me gustaría deshabilitar el comportamiento con fines de depuración.

chiliNUT
fuente

Respuestas:

8

Puede configurar una opción para desactivar la consulta de la memoria caché si tiene abierto el panel de herramientas del desarrollador (como sucede con F12).

Para configurar esta opción:

  1. En cualquier página, presione F12para abrir el panel de herramientas del desarrollador.
  2. Haz clic en el ícono de ajustes en la esquina superior derecha de ese panel.
  3. Allí, marque "Configuración avanzada → Desactivar caché (cuando la caja de herramientas está abierta)".

Las redirecciones de caché aún se almacenarán en caché de las visitas sin abrir el panel de la caja de herramientas del desarrollador, pero esa caché no se consulta y no se actualiza mientras la caja de herramientas del desarrollador esté abierta. Por lo tanto, solo fuerza temporalmente a Firefox a no redirigir en caché o servir redireccionamientos desde caché, pero podría ser suficiente para su caso de uso.

Verificado en Firefox 41. Adaptado de la respuesta de Ryan Bemrose a otra pregunta.

Tanius
fuente
2

Entiendo completamente por qué es beneficioso redirigir la memoria caché en el 99% de las situaciones, pero ¿hay alguna forma de desactivar ese comportamiento?

Bueno, si está haciendo esto desde el punto de vista del desarrollo del servidor web, entonces esperar que el comportamiento del "caché a toda costa" del navegador se altere para sus necesidades de "ajustes de desarrollo sin fin" es la manera incorrecta de atacar a esta bestia. Cuando depura las redirecciones del servidor web, debe centrarse en verificar la salida del encabezado y no la salida de representación de página completa que proporcionan los navegadores.

Por lo tanto, recomendaría aprender a usar curly la -Iopción desde la línea de comando para devolver solo encabezados, lo cual es muy útil para depurar redireccionamientos 301 y 302. Desde la línea de comando. Como se explica en la curlpágina de manual oficial , la -Iopción es:

-Me dirijo

(HTTP / FTP / FILE) ¡Obtenga solo el encabezado HTTP! Los servidores HTTP presentan el comando HEAD que esto usa para obtener nada más que el encabezado de un documento. Cuando se usa en un archivo FTP o FILE, curl muestra el tamaño del archivo y la hora de la última modificación solamente.

Por ejemplo, haga curl -I google.comay la salida será algo como esto:

HTTP/1.1 301 Moved Permanently
Location: http://www.google.com/
Content-Type: text/html; charset=UTF-8
Date: Sat, 11 Apr 2015 04:37:42 GMT
Expires: Mon, 11 May 2015 04:37:42 GMT
Cache-Control: public, max-age=2592000
Server: gws
Content-Length: 219
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
Alternate-Protocol: 80:quic,p=0.5

Y si desea seguir toda la cadena de redireccionamiento a través de encabezados, agregue la -Lopción (también conocido --locationcomo:) al comando de esta manera:

curl -I -L google.com

Y la salida de ese comando siguiendo la cadena de redireccionamiento de ubicación sería algo como esto:

HTTP/1.1 301 Moved Permanently
Location: http://www.google.com/
Content-Type: text/html; charset=UTF-8
Date: Sat, 11 Apr 2015 04:48:14 GMT
Expires: Mon, 11 May 2015 04:48:14 GMT
Cache-Control: public, max-age=2592000
Server: gws
Content-Length: 219
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
Alternate-Protocol: 80:quic,p=0.5

HTTP/1.1 200 OK
Date: Sat, 11 Apr 2015 04:48:14 GMT
Expires: -1
Cache-Control: private, max-age=0
Content-Type: text/html; charset=ISO-8859-1
Set-Cookie: PREF=ID=69d90e4d7a0fcbbb:FF=0:TM=1428727694:LM=1428727694:S=1xqS-toEoa5saQ7n; expires=Mon, 10-Apr-2017 04:48:14 GMT; path=/; domain=.google.com
Set-Cookie: NID=67=pkHjv88MsTB_eB1OqqcMm03kTkFNOSaN4ZEiE5iGViEt7AiJWBc6R-0qJ5s1xu3i5Peg5aHOBHyr7n4-oAxyEE2cL_dBPRLYODst0H-Ztfgrf_6LYXXlix9eghSB8Hzc; expires=Sun, 11-Oct-2015 04:48:14 GMT; path=/; domain=.google.com; HttpOnly
P3P: CP="This is not a P3P policy! See http://www.google.com/support/accounts/bin/answer.py?hl=en&answer=151657 for more info."
Server: gws
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
Alternate-Protocol: 80:quic,p=0.5
Transfer-Encoding: chunked
Accept-Ranges: none
Vary: Accept-Encoding

Tenga en cuenta la respuesta del encabezado HTTP/1.1 301 Moved Permanently, así como Location: http://www.google.com/. Si su objetivo de desarrollo web es probar cosas como las reglas de reescritura y redireccionamiento de Apache, curl -Ies la mejor herramienta para ayudarlo a ver qué están haciendo sus ajustes.

Y después de que esos ajustes se hayan finalizado y perfeccionado, realice una ejecución final en un navegador real para ver cómo todo cobra vida.

JakeGould
fuente
2

En Firefox Firebug, debajo de la Netpestaña, hay una opción llamada "Desactivar caché". Encendí esto al hacer las pruebas de redireccionamiento, y de lo contrario lo apagué.

ingrese la descripción de la imagen aquí

chiliNUT
fuente
1

Ve a about:configy establece ambos browser.cache.disk.enabley browser.cache.memory.enablefalso. Esto es lo mismo que marcar "Deshabilitar caché del navegador".

Qian
fuente