ERR_CACHE_MISS: Qué Significa y Cómo Solucionarlo (Chrome)

¿Qué Es ERR_CACHE_MISS?
ERR_CACHE_MISS es un código de error interno de Chromium (error -400) que significa el navegador intentó recuperar una página de su caché local, pero la entrada no existe. No es un código de estado HTTP — nunca sale de tu navegador. El error está definido en el código fuente de Chromium (net_error_list.h) como: "The cache does not have the requested entry."
Esto suele ocurrir cuando envías un formulario (que realiza una solicitud POST), navegas a otra página y luego pulsas el botón atrás o actualizar. Las respuestas POST no se almacenan en caché por defecto según la especificación HTTP (RFC 9111), así que Chrome no tiene nada que mostrar cuando intentas volver a esa página.
ERR_CACHE_MISS no es una amenaza de seguridad y no indica ningún problema con el servidor del sitio web. Es un mecanismo de protección del navegador que evita el reenvío accidental de formularios — lo que podría causar pagos duplicados, pedidos duplicados o entradas duplicadas en la base de datos.
Cómo Se Ve el ERR_CACHE_MISS
Chrome muestra este error como un mensaje a pantalla completa con el texto "This site can't be reached" o "Confirm Form Resubmission". El mensaje exacto depende del contexto. Estas son las variaciones más comunes.
ERR_CACHE_MISS — la página de error estándar mostrada en la barra de direcciones
net::ERR_CACHE_MISS — el código de error completo mostrado en la consola de DevTools
Confirm Form Resubmission — el cuadro de diálogo que Chrome muestra antes de reenviar datos POST
This webpage requires data that you entered earlier — el texto detallado dentro del diálogo de reenvío
err_cache_miss — la variante en minúsculas que algunos usuarios buscan
¿Qué Causa el ERR_CACHE_MISS?
El error tiene causas tanto del lado del usuario como del lado del servidor. Entender cuál aplica a tu situación determina la solución correcta.
Envío de formulario + atrás/actualizar — La causa número 1. Envías un formulario (solicitud POST) y pulsas atrás o actualizar. Chrome no puede recuperar la respuesta POST de la caché porque las respuestas POST no se almacenan en caché.
Headers Cache-Control agresivos — El servidor envía
Cache-Control: no-store, que le dice a Chrome que nunca almacene la respuesta en caché. Al navegar hacia atrás, no hay nada que cargar.Caché del navegador corrupta — Los archivos de caché locales se dañaron, generalmente después de un bloqueo, apagado forzado o error de disco.
Extensiones del navegador — Los bloqueadores de anuncios, extensiones de privacidad y extensiones VPN interceptan solicitudes de red y pueden interferir con el almacenamiento en caché. Esta es una causa sorprendentemente común.
Versión desactualizada de Chrome — Las versiones más antiguas pueden tener errores en el manejo de caché que ya se corrigieron en versiones más recientes.
Antivirus o software de seguridad — Algunos programas de seguridad con funciones de 'protección web' o 'escaneo HTTPS' interceptan el tráfico entre Chrome y el servidor, rompiendo el comportamiento de la caché.
Múltiples pestañas con el mismo formulario — Abrir la misma página de checkout o formulario en varias pestañas puede causar conflictos de caché.
Cambio de VPN o proxy durante la sesión — Cambiar de servidor VPN o conectarse a una red diferente invalida las entradas de caché de la conexión anterior.
ERR_CACHE_MISS vs Confirm Form Resubmission
Estos dos mensajes están relacionados pero aparecen en situaciones diferentes. El diálogo "Confirm Form Resubmission" aparece cuando Chrome puede potencialmente reenviar los datos POST — te está pidiendo permiso. ERR_CACHE_MISS aparece cuando Chrome no puede recuperar la página en caché y el reenvío no es posible.
La secuencia típica es: envías un formulario (POST) → Chrome renderiza la respuesta → pulsas atrás o actualizar → Chrome muestra el diálogo de reenvío O muestra ERR_CACHE_MISS, dependiendo de los headers de caché del servidor y si los datos del formulario aún están disponibles.
¿Por qué los navegadores hacen esto? Porque las solicitudes POST son métodos "inseguros" según la especificación HTTP. Reenviar automáticamente datos POST sin el consentimiento del usuario podría causar problemas reales — cargos duplicados en la tarjeta de crédito, pedidos duplicados o entradas duplicadas en la base de datos. El navegador te está protegiendo.
Cómo Solucionar ERR_CACHE_MISS (Para Usuarios)
Si ves este error mientras navegas, casi siempre se puede solucionar desde tu navegador. Empieza por la solución más sencilla y ve bajando por la lista.
Solución 1: Hard Refresh de la Página
Un hard refresh omite la caché del navegador y obtiene una copia completamente nueva de la página desde el servidor. Esta es la solución más rápida y resuelve el error en la mayoría de los casos.
# Windows / Linux
Ctrl + Shift + R
# Mac
Cmd + Shift + R
# Alternative (all platforms)
Ctrl + F5Si el hard refresh normal no funciona, intenta hacer clic derecho en el botón de recarga (con DevTools abierto) y seleccionar "Empty Cache and Hard Reload" para el reinicio más completo.
Solución 2: Limpiar la Caché del Navegador
Si el hard refresh no funcionó, limpia los datos en caché de Chrome por completo. Esto elimina todas las entradas de caché corruptas y obliga a Chrome a empezar de cero.
Paso 1: Abre la Configuración de Chrome (tres puntos → Configuración) o escribe
chrome://settings/clearBrowserDataen la barra de direccionesPaso 2: Cambia a la pestaña Avanzado
Paso 3: Establece el rango de tiempo en Desde siempre
Paso 4: Marca Imágenes y archivos almacenados en caché y Cookies y otros datos de sitios
Paso 5: Haz clic en Borrar datos
Solución 3: Probar en Modo Incógnito
El modo incógnito inicia Chrome con una configuración limpia — sin extensiones, sin datos en caché, sin cookies. Si la página carga en modo incógnito pero no en modo normal, el problema lo causa una extensión del navegador o una caché corrupta.
Abre una ventana de incógnito con Ctrl+Shift+N (Windows/Linux) o Cmd+Shift+N (Mac) y navega a la misma página. Si carga correctamente, una de tus extensiones es la culpable.
Solución 4: Desactivar Extensiones del Navegador
Las extensiones que modifican la carga de páginas, bloquean solicitudes o interceptan tráfico de red son una causa común de ERR_CACHE_MISS. Los bloqueadores de anuncios, escudos de privacidad y extensiones VPN son los sospechosos habituales.
Ve a chrome://extensions/, desactiva todas las extensiones y recarga la página. Si el error desaparece, reactiva las extensiones una por una para encontrar la que causa el problema.
Solución 5: Actualizar Chrome
Las versiones más antiguas de Chrome pueden contener errores en el manejo de caché. Ve a chrome://settings/help para buscar actualizaciones. Chrome suele actualizarse automáticamente, pero la actualización solo se aplica después de reiniciar el navegador.
Si el error comenzó después de una actualización de Chrome, puede ser un bug recién introducido. Consulta el rastreador de errores de Chromium para ver problemas conocidos con tu versión.
Solución 6: Vaciar la Caché DNS
Vaciar la caché DNS elimina entradas DNS obsoletas que podrían estar causando problemas de conexión. Esto resuelve el ERR_CACHE_MISS cuando el error está relacionado con el almacenamiento en caché a nivel de red, no con la caché del navegador.
# Windows (Command Prompt as Admin)
ipconfig /flushdns
# macOS
sudo dscacheutil -flushcache && sudo killall -HUP mDNSResponder
# Linux
sudo systemd-resolve --flush-caches
# Chrome internal DNS cache
# Visit chrome://net-internals/#dns → Click "Clear host cache"Puedes verificar tu configuración DNS usando la herramienta de consulta DNS de DNS Robot para comprobar si tu dominio resuelve correctamente.
Solución 7: Restablecer Configuración de Red
Si nada más funciona, restablecer tu pila de red puede corregir problemas de conectividad profundos que causan errores de caché.
# Windows (Command Prompt as Admin)
netsh winsock reset
netsh int ip reset
ipconfig /release
ipconfig /renew
# Then restart your computerCómo Solucionar ERR_CACHE_MISS (Para Desarrolladores)
Si tus usuarios reportan errores ERR_CACHE_MISS en tu sitio web, la solución debe venir del lado del servidor. El cambio más importante es implementar el patrón Post/Redirect/Get.
El Patrón Post/Redirect/Get (PRG)
El patrón Post/Redirect/Get (PRG) es la solución definitiva para el ERR_CACHE_MISS. Ha sido una buena práctica de desarrollo web desde 2003. El concepto es sencillo: después de procesar un envío de formulario POST, responde con una redirección HTTP (302 o 303) a una página de confirmación GET en lugar de renderizar la respuesta directamente.
Sin PRG, el historial del navegador termina con una solicitud POST. Cuando el usuario pulsa atrás o actualizar, Chrome debe reenviar los datos POST (o mostrar ERR_CACHE_MISS). Con PRG, el historial del navegador termina con una solicitud GET segura que se puede actualizar o navegar hacia atrás sin problemas.
# Without PRG (causes ERR_CACHE_MISS):
POST /checkout → 200 OK (render confirmation page)
# User refreshes → ERR_CACHE_MISS or "Confirm Form Resubmission"
# With PRG (no cache issues):
POST /checkout → 303 See Other → Location: /order/12345
GET /order/12345 → 200 OK (render confirmation page)
# User refreshes → Normal page reload (safe GET request)Usa HTTP 303 See Other (preferible) o 302 Found para la redirección. Un 303 convierte explícitamente el POST en GET según la especificación HTTP, que es exactamente el comportamiento que necesitas.
Revisa Tus Headers Cache-Control
Los headers Cache-Control excesivamente restrictivos causan errores ERR_CACHE_MISS innecesarios. Usa Chrome DevTools (F12 → pestaña Network) para inspeccionar los headers de respuesta de tus páginas.
El header Cache-Control: no-store le dice a Chrome que nunca almacene la respuesta en caché — esta es la opción más estricta. Si tu página no contiene datos sensibles (como transacciones financieras), considera usar no-cache, que permite el almacenamiento en caché pero requiere revalidación.
Puedes verificar los headers HTTP de tu servidor usando el Verificador de Headers HTTP de DNS Robot para ver exactamente qué directivas Cache-Control envía tu servidor.
| Directiva | Comportamiento de Caché | Riesgo de ERR_CACHE_MISS |
|---|---|---|
| no-store | Nunca almacena la respuesta en caché | Alto — el botón atrás siempre falla |
| no-cache | Almacena en caché pero revalida antes de usar | Bajo — Chrome sirve desde caché al volver |
| max-age=3600 | Almacena en caché por 1 hora sin revalidación | Ninguno — la página carga desde caché |
| private, max-age=0 | Almacena en caché pero siempre revalida | Bajo — similar a no-cache |
Solucionar Conflictos de Caché en WordPress
Los sitios WordPress con plugins de caché son especialmente propensos a errores ERR_CACHE_MISS. Las reglas de caché conflictivas entre plugins, la capa de caché de tu proveedor de hosting y los CDN pueden crear comportamientos de caché inconsistentes.
Si usas WooCommerce, asegúrate de que tu plugin de caché excluya las páginas dinámicas — las páginas de carrito, checkout y mi-cuenta nunca deben almacenarse en caché. La mayoría de plugins populares (WP Super Cache, W3 Total Cache, LiteSpeed Cache) tienen configuraciones específicas para WooCommerce.
Purga todas las cachés — Limpia la caché de tu plugin, la caché del hosting (si aplica) y la caché del CDN simultáneamente
Desactiva plugins conflictivos — Nunca ejecutes dos plugins de caché de página completa al mismo tiempo
Excluye páginas dinámicas — Las páginas de carrito, checkout e inicio de sesión deben excluirse de la caché
Revisa la caché a nivel de servidor — Tu proveedor de hosting puede añadir su propia capa de caché (Varnish, LiteSpeed, etc.) que entra en conflicto con tu plugin
ERR_CACHE_MISS en Android (WebView)
Los desarrolladores Android encuentran frecuentemente net::ERR_CACHE_MISS al usar WebView para cargar páginas web dentro de sus aplicaciones. Es un problema común reportado en proyectos Android, Flutter y React Native.
La causa más común es la falta del permiso INTERNET en tu AndroidManifest.xml. Sin él, WebView no puede realizar solicitudes de red y recurre a la caché — que no existe en la primera carga.
<!-- AndroidManifest.xml — Add this permission -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />Si el permiso ya está presente, intenta configurar el modo de caché del WebView a LOAD_DEFAULT o LOAD_NO_CACHE para evitar entradas de caché obsoletas. Para apps Flutter, verifica que el plugin webview_flutter esté actualizado a la última versión.
ERR_CACHE_MISS en Otros Navegadores
ERR_CACHE_MISS es un código de error específico de Chromium. Todos los navegadores basados en Chromium (Chrome, Edge, Brave, Opera, Vivaldi, Arc) muestran el mismo error. Otros motores de navegador muestran mensajes diferentes para el mismo problema subyacente.
| Navegador | Mensaje de Error | Notas |
|---|---|---|
| Chrome / Edge / Brave / Opera | ERR_CACHE_MISS | Basados en Chromium — error idéntico |
| Firefox | Document Expired | Muestra: "This document is no longer available" |
| Safari | Diálogo de reenvío de formulario | Muestra: "Are you sure you want to send a form again?" |
El mensaje "Document Expired" de Firefox es el equivalente más conocido. Aparece con el texto: "This document is no longer available. The requested page contains data from a form submission (POSTDATA). This data is no longer available." La solución es la misma — limpiar la caché o usar el patrón PRG en el lado del servidor.
Errores de Caché Relacionados en Chrome
Chrome tiene varios códigos de error relacionados con la caché. Todos empiezan con ERR_CACHE_ pero indican problemas diferentes.
| Código de Error | Qué Significa | Causa Común |
|---|---|---|
| ERR_CACHE_MISS (-400) | La entrada de caché no existe | POST + atrás/actualizar, header no-store |
| ERR_CACHE_READ_FAILURE (-401) | No puede leer de la caché en disco | Archivos de caché corruptos, error de disco |
| ERR_CACHE_WRITE_FAILURE (-402) | No puede escribir en la caché en disco | Disco lleno, problema de permisos |
| ERR_CACHE_OPERATION_NOT_SUPPORTED (-403) | Operación no compatible para esta entrada | Tipo de contenido no compatible en caché |
| ERR_CACHE_CHECKSUM_MISMATCH (-408) | Los datos de caché fallaron la verificación de integridad | Caché corrupta, escritura interrumpida |
Para todos estos errores, limpiar la caché del navegador (Solución 2 anterior) es la solución universal del lado del usuario. Si el error persiste después de limpiar la caché, el problema es una extensión o una configuración del lado del servidor.
Verifica Tus Headers HTTP
Usa el Verificador de Headers HTTP gratuito de DNS Robot para inspeccionar los headers Cache-Control de tu servidor y otras directivas de respuesta que afectan el almacenamiento en caché del navegador.
Try Verificador de Headers HTTPFrequently Asked Questions
ERR_CACHE_MISS significa que Chrome intentó cargar una versión en caché de una página pero la entrada en caché no existe. Es un error del lado del navegador (no un error del servidor) que aparece más comúnmente después de enviar un formulario y pulsar el botón atrás o actualizar.