¿Cómo puedo hacer que Chrome deje de redireccionar el almacenamiento en caché?

416

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

Estoy tratando de depurar la lógica en la forma en que funcionan las redirecciones. Sin embargo, Google Chrome sigue recordando las redirecciones e incluso después de cambiar el código, redirige de la misma manera.

Esto hace que sea muy difícil solucionar problemas.

Por ejemplo, si redirijo /thisa /that, entonces cambie mi código para NO redirigir /thismás. Google Chrome todavía está redirigiendo a /that. Al igual que la redirección está en caché o algo así. ¿Hay alguna forma de apagar esto?

JD Isaacks
fuente
¿Esto todavía sucede cuando reinicias? Debería detenerse después de reiniciar con una nueva sesión
aleatoria
1
@random, reiniciar Chrome parece solucionarlo. Sin embargo, generalmente tengo muchas ventanas abiertas (es decir, documentos, conexiones de base de datos, tutoriales, la página en la que estoy trabajando, etc.) Si estoy solucionando algún problema, puede tomar varios intentos antes de descubrir qué está sucediendo. Realmente no lo consideraría ideal tener que seguir cerrando todas mis ventanas. Gracias.
JD Isaacks
2
Solución alternativa: use redireccionamientos 302 (temporales) durante las pruebas y cambie a 301 (permanente) cuando haya terminado. (Advertencia: Algunos navegadores (Firefox) va a almacenar en caché incluso 302 redirige cuando van de http a https versiones de la misma página.)
Trig
1
Ingresando un nuevo www.mywebsite/?someparam=somevaluetrabajo para mí
Mustafa
1
@JDIsaacks podría usar un Chrome exclusivamente para la depuración (es decir, Chrome Canary)
athosbr99

Respuestas:

329

Google Chrome almacenará en caché tus redireccionamientos 301 . Para evitar esto, y para mantener las pestañas abiertas, solo tendrá que borrar la memoria caché del navegador.

Menú de Chrome Menú de Chrome> Configuración> Mostrar configuración avanzada ...> Privacidad> Haga clic en Borrar datos de navegación ...

Independientemente de lo que seleccione, asegúrese de que "Imágenes y archivos en caché" sea una opción marcada.

Luego haga clic en Borrar datos de navegación y debería poder volver a realizar la prueba nuevamente.

Si acaba de seguir la redirección, solo necesita eliminar los datos de la última hora.

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

al azar
fuente
3
Última versión de Chrome, esta opción sería "Imágenes y archivos en caché" en lugar de "Vaciar el caché"
Dan R
23
Sigo siendo redirigido, incluso en modo incógnito.
Gaia
2
@Gaia sí, eso parece ser un problema en el incógnito de Chrome. Si solo está probando, es posible que desee usar Firefox para esto. La navegación privada de Firefox funciona bien :)
chhantyal
10
Tenga en cuenta que HTTP 301 se mueve permanentemente, por lo que el almacenamiento en caché de la respuesta está perfectamente permitido. Si no desea que la respuesta se almacene en caché, intente 302 o 307. es.wikipedia.org/wiki/List_of_HTTP_status_codes#3xx_Redirection
un CVn el
77
El atajo de teclado para esto es Ctrl+ Shift+ Delete.
0xcaff
151

Esta es la forma segura de borrar la memoria adhesiva de Chrome para redireccionamientos sin borrar todos sus datos de navegación (método utilizado por la respuesta principal actual):

  1. Abra el panel Herramientas de desarrollador ( optioncommandien Mac o ctrlshiftien Windows)

  2. Haz clic y mantén presionado el ícono de recarga ingrese la descripción de la imagen aquí

  3. Se abrirá un menú.

    ingrese la descripción de la imagen aquí

  4. Elija la tercera opción de este menú ("Vaciar caché y recarga dura")

Aquí hay una excelente explicación de cómo difieren estas 3 opciones .

PD: Para evitar tener que seguir estos pasos cada vez que Chrome sigue la redirección: verifique deshabilitar la caché en DevTools, y mientras DevTools está abierto, Chrome omitirá la caché de redireccionamiento (según esta respuesta )

Gaia
fuente
1
Por otro lado: esto no está disponible en una Mac.
Arjan
55
esto no siempre elimina los redireccionamientos en caché
Claudiu Creanga
77
Está disponible en Mac, pero el menú solo está disponible si tiene abiertas las herramientas de desarrollo. Supongo que esto podría ser lo mismo en Windows.
Percy
1
@Arjan está disponible en una Mac, consulte superuser.com/questions/304589/…
Gaia
44
Mac OS X, Yosemite. Pelear con una redirección permanente de http a https, solo esta opción funcionó. Todos los demás, incluido "Deshabilitar caché (mientras DevTools está abierto)", no hicieron ninguna diferencia.
Carles Sala
115

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 al 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 una cadena de consulta q funcionó para mí en Chrome 30 en Max OS X.

sradack
fuente
10
Sí, esto funciona. example.comse convierte example.com?. Soy el más fácil del grupo
fregante
2
Este es un truco increíble. Asumo puede utilizar esta forma indefinida ?abc, ?abc2etc ...
brentonstrine
2
Esto no funcionó para mí. Incluso usando un puerto diferente (: 8080) cambió a https, 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 almacenado en caché 301, esto puede no funcionar ya que "recuerda" reenviar todo después del TLD.
dhaupin
92

Hay un error de cromo "wontfix" 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 (caducidad, 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.
dbr
fuente
¿Qué significa "eliminar la última hora"? ¿medio? ¿Cómo hacerlo?
Mikaël Mayer
1
@ MikaëlMayer Al hacer clic en "Historial> Borrar datos de navegación", puede seleccionar un marco de tiempo para eliminar datos ("la última hora", "última semana", etc.)
dbr
No..! Borrar los datos de navegación de un sitio no eliminará el comportamiento de redireccionamiento 301. No en Chromium 64.0.x de todos modos
patricktokeeffe
Si borras "1 hora", cerrarás sesión en 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 peor que "eliminar la última redirección", que es la característica que no arreglaron.
rox0r
66

Si tiene la opción "Deshabilitar caché (mientras DevTools está abierto)" habilitada en DevTools, simplemente tener las DevTools abiertas es suficiente para omitir el caché de redireccionamiento, sin tirar constantemente su sesión.

Mike Gossmann
fuente
99
nota: si devTools está abierto, hay una manera rápida de eliminar el caché: haga clic en el botón Actualizar con el botón derecho y elija la recarga completa;)
user65130
55
Esto no funciona todo el tiempo. Eliminé todo mi caché y aún redirecciono. Solo con el modo de incógnito funciona y obtienes un comportamiento constante
Claudiu Creanga
2
¿Por qué esta no es la mejor solución? los otros son horribles en comparación!
Brian
44
Ya no funciona ... Probablemente trabajó 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, la redirección se almacena en caché. La recarga de la página con las herramientas abiertas no redirige.
Mike Gossmann
20

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

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

  1. Abra las herramientas de desarrollador de Chrome herramientas de desarrollo

  2. Haga clic en Configuración ajustes

  3. Marque Desactivar caché (mientras DevTools está abierto) inhabilitar

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

Zanon
fuente
2
Encontrarás la opción "deshabilitar caché" en la pestaña de red también, es la misma opción. Para la depuración de redireccionamientos, sugeriría usar el "preservar registro" también.
Trendfischer
15

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

Actualización: Desafortunadamente, a partir de la versión 71 (diciembre de 2018) Google ha eliminado la función net-internals.

McGuireV10
fuente
1
Funciona en Chrome 56
spencer.sm
Todavía funciona en Chrome 67
SCO
No trabaje en Chrome 71. Se ha eliminado el visor de eventos net-internals y la funcionalidad relacionada.
userlond
8

Los dominios .dev están obligados a usar HTTPS en Chrome 63+

Desde Chrome 63, que salió en diciembre de 2017, todos los dominios que terminan en .dev (y .foo) se ven obligados a usar HTTPS a través de un encabezado HTTP Strict Transport Security (HSTS) precargado.

Más información aquí: https://ma.ttias.be/chrome-force-dev-domains-https-via-preloaded-hsts/

Lucas Bustamante
fuente
Este fue mi culpable seguro! Me paso HORAS tratando de descubrir qué demonios estaba pasando. ¡Gracias por publicar esto!
Jabari
Esta respuesta necesita más votos. Puede que no sea el problema que tuvo el interrogador, pero será para muchos desarrolladores que encuentren esta respuesta en sus resultados de búsqueda.
bp.
¡Dios! ¡Quién podría tener una idea tan brillante!
Pavel Niedoba
7

Para borrar el caché de redireccionamiento para una sola página en Chrome, ver código fuente y realizar una actualización completa (CTRL + SHIFT + R).

Esto funciona ya que el navegador de origen no sigue automáticamente las redirecciones 301.

Matthew Blackford
fuente
44
No funcionó para mí en Chrome 25
swrobel
3
Esto no funciona si la redirección es para todas las páginas. Tengo un www. -> no www. redirigir: por lo que la redirección está en el primer golpe, por lo que no puedo actualizar nada. Cada vez que intento ir a la página para actualizar, sigue el 301, ¡entonces es demasiado tarde!
Ian Grainger
1
@ Ian ¿Qué sucede si escribe en la barra de direcciones view-source: www.example.com? ¿Eso te permite actualizar sin ser redirigido?
Matthew Blackford
1
@MatthewBlackford AFAICT lo mismo, en realidad obtengo la fuente de la página redirigida. No estoy seguro de que mi examen fuera tan bueno, aunque TBH. He eliminado el historial de navegación para 'solucionar' este problema.
Ian Grainger
2
Esto solo funciona para redireccionamientos javascript y metatag. Todavía se siguen los redireccionamientos HTTP
fregante
6

Como se describe aquí podría ser causado por HSTS

Para evitar esto, hice lo siguiente.

En la barra de direcciones de Chrome, escriba "chrome: // net-internals / # hsts". En la parte inferior de una página se encuentra el cuadro de texto de dominio CONSULTA: verifique que su sitio (localhost, por ejemplo) sea conocido por el navegador. Si es así, BORRE el localhost. dominio usando el cuadro de texto de arriba Su sitio ahora debería funcionar usando HTTP simple

Tonino
fuente
1
Hey gracias. Esto realmente ayuda con la repentina caché de redireccionamientos https.
Ruberoid
5

En Chrome o Firefox, puede actualizar la redirección escribiendo "view-source: redirect.yoursite.com" y presionando enter. Luego, actualiza esa página. Ahora, eso debería obligar a Chrome o Firefox a actualizar la redirección.

mrbofus
fuente
Esta es la única respuesta que funcionó para mí.
JaredThirsk
4

Si solo desea verificar que las redirecciones funcionan como se esperaba, probablemente sea más fácil usar una herramienta de línea de comandos como wget o similar. Puede inspeccionar los encabezados de respuesta y los redireccionamientos no se almacenan en caché.

Tom Wilson
fuente
3

Para fines de desarrollo, le recomiendo que en Chrome abra la configuración de DevTools y marque "Desactivar caché". ¡Entonces las redirecciones 30x no se almacenan en caché y puede depurar archivos .htaccess y así sucesivamente! ingrese la descripción de la imagen aquí

lukyer
fuente
Lo extraño es que esta opción no ayuda. Inhabilité el caché pero todavía dice en la pestaña de red 301 Moved Permanently (from disk cache).
mgutt
Eso es exactamente lo mismo que hacer clic en 'desactivar caché' mientras la pestaña de red está abierta. No: no borra las redirecciones.
bshea
1
  1. Ir chrome://settings/search#clear%20browsing%20data

  2. Haga clic en "Borrar datos de navegación"

  3. Marque "Imágenes y archivos en caché" (y desmarque el resto si lo desea)

  4. Haga clic en "Borrar datos de navegación"

ingrese la descripción de la imagen aquí

guaka
fuente
1

método más simple, actualización dura. espera Ctrl+ Runos segundos. Esto borra los redireccionamientos y los recursos estáticos.

Ryu_hayabusa
fuente
¿Por qué lo sostienes en lugar de simplemente presionar Ctrl+R?
gronostaj 01 de
@gronostaj ¿No fue mi respuesta simple y llanamente? . Sin esperar, sería solo una actualización normal. Lo que no borra recursos en caché o redireccionamientos.
Ryu_hayabusa
Sostener es como presionarlo varias veces. Abra el Bloc de notas y mantenga presionado R, aparecerán múltiples Rs. Esto es exactamente lo mismo, pero con Ctrl. Mantener Ctrl+ Res un equivalente exacto de presionarlo una docena de veces por segundo durante unos segundos. Eso no es inteligente, está abusando del mecanismo de actualización incorporado y confiando en el comportamiento indocumentado.
gronostaj
@gronostaj Sí, es un comportamiento indocumentado. La respuesta aceptada no funciona para mí. Por eso lo compartí aquí. No veo otra forma de borrar la redirección en caché. Si conoce otros métodos, no dude en compartir.
Ryu_hayabusa
Probado y no funcionó (redirección 301 en todo el dominio).
mgutt
1

Si no desea perder toda su memoria caché y su redirección todavía está atascada en la memoria caché, puede intentar visitar view-source: versión de la url. Eso actualizó el caché de redireccionamiento de la misma URL para mí.

Ogier Schelvis
fuente
0

Intenté todas las respuestas en esta página, pero ninguna funcionó hasta que ejecuté flushdns en la ventana de la línea de comandos de Windows.

C:\Users\DBashyal>ipconfig /flushdns

Windows IP Configuration    
Successfully flushed the DNS Resolver Cache.

Para su información, ya lo había Disable cacheverificado como se menciona en esta respuesta.

Damodar Bashyal
fuente