Pregunta ¿Cómo puedo hacer que Chrome deje de cachear los redireccionamientos?


Estoy trabajando en una aplicación web que está usando redirects (para URL bonitas).

Estoy intentando depurar la lógica de la forma en que funcionan las redirecciones. Sin embargo, Google Chrome sigue recordando los redireccionamientos e incluso después de que cambie el código, redirigiendo de la misma manera.

Esto hace que sea muy difícil solucionarlo.

Por ejemplo, si redirijo /this a /that, luego cambie mi código para NO redirigir /this nunca más. Google Chrome sigue redirigiendo a /that. Al igual que el redireccionamiento está en caché o algo así. ¿Hay alguna forma de apagar esto?


366


origen


¿Esto todavía sucede cuando reinicias? Debería detenerse después de reiniciar con una nueva sesión - random♦
@random, reiniciar Chrome parece arreglarlo. Sin embargo, generalmente tengo muchas ventanas abiertas (es decir: documentos, conexiones de db, tutoriales, la página en la que estoy trabajando, etc.). Si estoy solucionando problemas, puede llevar varios intentos antes de descubrir qué está pasando. Realmente no consideraría ideal tener que seguir cerrando todas mis ventanas. Gracias. - JD Isaacks
Solución alternativa: utilice redireccionamientos 302 (temporales) durante las pruebas, y cambie a 301 (permanente) cuando haya terminado. (Advertencia: algunos navegadores (Firefox) almacenarán en caché incluso 302 redireccionamientos cuando vayan de versiones http a https de la misma página). - TRiG
Ingresando un nuevo www.mywebsite/?someparam=somevalue funciona para mi - Mustafa
@JDIsaacks puedes usar un Chrome exclusivamente para la depuración (es decir, Chrome Canary) - athosbr99


Respuestas:


Google Chrome lo hará almacenar en caché sus redireccionamientos 301. Para evitar esto, y para mantener las pestañas abiertas, solo tendrá que borrar la caché de su navegador.

Menú de Chrome Chrome Menu > Configuraciones> Mostrar configuraciones avanzadas ...> Privacidad> Clic Eliminar datos de navegación...

Independientemente de lo que seleccione, asegúrese de que las "imágenes y archivos almacenados en caché" sean una opción marcada.

Luego haga clic Eliminar datos de navegación y deberías poder volver a probar nuevamente.

Si acabas de seguir el redireccionamiento, solo necesitas borrar los datos de la última hora.

Alternativamente, prueba y desarrolla en modo de incógnito. Allí, el caché se vacía después de que se cierra el navegador.


301



La última versión de Chrome, esta opción sería "Imágenes en caché y archivos" en lugar de "Vaciar el caché" - Dan R
Sigo siendo redireccionado, incluso en modo de incógnito. - Gaia
@Gaia sí, eso parece ser un problema en Chrome de incógnito. Si solo está probando, es posible que desee usar Firefox para esto. La navegación privada de Firefox funciona bien :) - chhantyal
Tenga en cuenta que HTTP 301 es Movido permanentemente así que el almacenamiento en caché de la respuesta está perfectamente permitido. Si no desea que la respuesta se guarde en la memoria caché, intente con 302 o 307. en.wikipedia.org/wiki/List_of_HTTP_status_codes#3xx_Redirection - Michael Kjörling
El atajo de teclado para esto es Ctrl + Shift + Delete. - 0xcaff


Esta es la forma segura de borrar la memoria adhesiva de Chrome para los redireccionamientos sin borrar todos sus datos de navegación. (por respuesta arriba):

  1. Abre el Herramientas de desarrollo panel (opciónmandoyo en Mac, o ctrlcambioyo en Windows)

  2. Haga clic y mantenga presionado el ícono de recarga enter image description here

  3. Se abrirá un menú

    enter image description here

  4. Elija la tercera opción de este menú ("Vaciar caché y recargar con dificultad")

PD: para evitar tener que seguir estos pasos cada vez que Redirect es seguido por Chrome: marque desactivar caché en DevTools, y mientras DevTools está abierto, Chrome saltará la caché de redirección (por esta respuesta)


127



Como un aparte: esto no está disponible en una Mac. - Arjan
esto no siempre elimina los redireccionamientos en caché - Claudiu Creanga
Está disponible en Mac, pero el menú solo está disponible si tienes las herramientas de desarrollo abiertas. Supongo que esto podría ser lo mismo en Windows. - Percy
@Arjan está disponible en Mac vea superuser.com/questions/304589/... - Gaia
Mac OS X, Yosemite. Luchando con un redireccionamiento permanente de http a https, solo esta opción funcionó. Todos los demás, incluido el "Deshabilitar el caché (mientras DevTools está abierto)", no hicieron ninguna diferencia. - Carles Sala


No es una solución perfecta, pero pude evitar que Chrome use la redirección en caché al pasar una cadena de consulta falsa o agregar un parámetro falso a la cadena de consulta existente. Por ejemplo, agregar un simple ? al final de una URL que no tenía q cadena de consulta trabajada para mí en Chrome 30 en Max OS X.


107



Sí, esto funciona. example.com se convierte example.com?. Es el más fácil del grupo - bfred.it
Este es un truco increíble. Supongo que puedes usar esto indefinidamente ?abc, ?abc2 etc ... - brentonstrine
Esto no funcionó para mí. Incluso usando un puerto diferente (: 8080) cambió a https, lo que parece un error de Chrome. - jwadsack
Ya estoy haciendo lo mismo, pero no siempre funciona, a veces necesito presionar ctrl + shift + r (ctrl + f5) para obtener la versión más nueva de la página web, o páginas parciales incluidas dentro de la página. - M98
Si hay un comodín en la memoria caché 301, es posible que esto no funcione, ya que es "recordar" reenviar todo después del TLD. - dhaupin


Hay una "wontfix" Error de Chromium sobre esto,

Ese es el comportamiento esperado.

Tenga en cuenta que:

  1. Puede agregar encabezados de control de caché a un 301 y los seguiremos (vencimiento, etc.)
  2. Si el recurso en cuestión es un subrecurso, volver a cargar la página hará que la redirección se vuelva a validar con el servidor.
  3. No tiene que perder todo su caché. Simplemente siga la redirección y elimine la última hora.

90



¿Qué significa "eliminar la última hora"? ¿medio? ¿Cómo hacerlo? - Mikaël Mayer
@ MikaëlMayer Cuando hace clic en "Historial> Borrar datos de navegación", puede seleccionar un marco de tiempo para eliminar datos ("la última hora", "semana pasada", etc.) - dbr
No..! La eliminación de los datos de navegación de un sitio no eliminar el comportamiento de redirección 301. No en Chromium 64.0.x de todos modos - patricktokeeffe
Al borrar "1 hora", se desconecta de todos los productos y cuentas de Google. Qué buen consejo ... - Luciano Fantuzzi
> No tiene que perder todo su caché. Simplemente siga la redirección y elimine la última hora. Eso es aún peor que "borrar la última redirección", que es la función que no se ha solucionado. - rox0r


Si tiene activada la opción "Deshabilitar la caché (mientras DevTools está abierta)" en DevTools, simplemente tener las herramientas de desarrollo abiertas es suficiente para eludir el caché de redirección, sin descartar constantemente su sesión.


63



nota: si devTools está abierto, hay una forma rápida de borrar la caché: haga clic en el botón Actualizar con el botón derecho del mouse y seleccione la recarga completa ;) - user65130
esto no funciona todo el tiempo. Eliminé todo mi caché y sigo redirigiendo. Solo con el modo de incógnito funciona y obtienes un comportamiento constante - Claudiu Creanga
¿Por qué esta no es la mejor solución? los otros son terribles en comparación! - Brian
No funciona más ... Probablemente funcionó en 2014 - Lord Loh.
@LordLoh. Acabo de probar esto en la última versión de Chrome, y funcionó exactamente como se esperaba. Con los devtools cerrados, el redireccionamiento se almacena en caché. Recargar la página con las herramientas abiertas no redirige. - Mike Gossmann


Chrome almacena en caché las redirecciones de HTTP y deja de consultar con el sitio si la redirección ha cambiado. Esto puede ser frustrante, ya que la forma más fácil de corregir (visitar el sitio y forzar una actualización) no se puede utilizar porque la redirección se realizará antes de acceder al enlace. Esto es un no solucionará el problema.

Para solucionar esto, puede borrar sus datos de navegación, como se explicó aquí o puede seguir los pasos a continuación y evitar perder su historial.

  1. Abra las herramientas de desarrollo de Chrome dev-tools

  2. Haga clic en Configuración settings

  3. Comprobar Desactivar caché (mientras DevTools está abierto) disable

  4. Visite el sitio que desea y se resolverá el problema de caché.


18



También encontrará la opción "desactivar el caché" en la pestaña de red, es la misma opción. Para depurar redireccionamientos, sugeriría usar el "registro de preservación" también. - Trendfischer


Vaya a chrome: // net-internals y, en el extremo derecho, abra el menú desplegable y seleccione "Borrar caché". A partir de la versión 48, esto fue lo único que funcionó para borrar un 301 en caché (redirección permanente).


14



Funciona en Chrome 56 - spencer.sm
Esto funcionó para mí gracias - David Van De Meer