¿Qué es la caché? ¿Por qué pasa lo de «lo actualicé pero no cambió nada»? ── Por qué la segunda visita es más rápida y cómo arreglar su efecto secundario

Quizá te haya pasado. Por fin actualizaste la web de tu empresa ── pero al abrirla, la versión antigua sigue ahí, mirándote. O al revés: te avisan de que «la web ya está arreglada», y en tu pantalla no ha cambiado nada. Buscas por ahí o preguntas a soporte, y la respuesta es casi siempre la misma: «Borra la caché, por favor». Lo haces y, efectivamente, funciona. Pero muy poca gente sabe explicar qué acaba de borrar, o por qué borrarlo lo arregló.

Este artículo explica desde cero qué es realmente la caché. El mapa completo en una línea: la caché es la razón misma de que la misma página abra más rápido la segunda vez, y el incidente de «lo actualicé pero no cambió nada» es el efecto secundario que pagas por esa velocidad. Son la cara y la cruz del mismo mecanismo. Si algo de esto te suena, sigue leyendo.

  • Una web se actualizó pero seguía mostrando la versión antigua ── en tu pantalla o en la de tus visitantes
  • Te dicen «borra la caché» pero no sabrías explicar qué hace eso en realidad
  • Nunca te habías preguntado por qué la misma página abre claramente más rápido la segunda vez
  • Borras la caché con nervios, sin saber si te cerrará la sesión en todas partes

Para que sea fácil de seguir incluso sin conocimientos previos, este artículo evita abusar de los tecnicismos. Y no se queda en el funcionamiento ── llega hasta las decisiones prácticas: en qué orden arreglar el «no cambió nada» y qué pasa de verdad al borrar la caché.

PreguntaSección
¿Qué es la caché, en realidad?§1
¿Dónde vive la caché?§2
¿Hasta cuándo se seguirá mostrando la versión antigua?§3
¿Por qué pasa lo de «lo actualicé pero no cambió nada»?§4
¿Cómo lo arreglo?§5
¿Borrar la caché me cierra la sesión?FAQ Q1
💡 Tip

En el resumen de la serie, ¿Qué ocurre entre que escribes una URL y aparece la página?, dijimos que «el incidente causado por un almacén desfasado da para un artículo entero». Este es ese artículo.

1. Qué es realmente la caché ── reutilizar materiales que ya trajiste una vez

1-1. Una página se construye con decenas de materiales traídos

Cuando abres una página, lo que llega no es un único archivo. Primero llega el plano (HTML) y, mientras lo lee, el navegador va a buscar al servidor cada material que falta ── imágenes, las instrucciones de estilo (CSS), las piezas con movimiento (JavaScript) ── uno por uno (el recorrido completo está en ¿Qué ocurre entre que escribes una URL y aparece la página?). Decenas de materiales para una sola página de noticias es de lo más normal.

Ahora piénsalo. Cuando visites el mismo sitio mañana, su logo será el mismo que hoy. Las instrucciones de estilo, casi seguro, también. Volver a traer archivos idénticos desde la otra punta del mundo, todos los días, es un desperdicio evidente, ¿no?

1-2. Por eso el navegador tiene un almacén local ── eso es la caché

Así que el navegador guarda un tiempo los materiales ya traídos en un almacén local (una zona de almacenamiento dentro de tu PC). La próxima vez que abras la misma página, todo material que ya esté en el almacén se salta la petición por completo y sale directamente de la estantería ── ese mecanismo, y el contenido del almacén, son la caché.

Esa es exactamente la razón de que «la segunda vez vaya más rápido». En la primera visita hay que traer cada uno de esos decenas de materiales; en la segunda, la mayoría sale directa del almacén. Cuantas más peticiones te ahorras, más rápido abre la página.

Primera visita vs. segunda visita

 Primera visita (se trae cada material)
  Plano HTML    : tú <──────── servidor
  Logo          : tú <──────── servidor
  Estilos CSS   : tú <──────── servidor              △ una petición por material
  Scripts JS    : tú <──────── servidor

 Segunda visita (directo de la estantería)
  Plano HTML    : tú <──────── servidor
  Logo          : tú <── [almacén local]
  Estilos CSS   : tú <── [almacén local]             △ la petición se omite por completo
  Scripts JS    : tú <── [almacén local]

1-3. Las cookies hacen un trabajo completamente distinto

Como siempre aparecen juntas en el diálogo de borrado, las cookies y la caché se confunden constantemente ── pero sus trabajos no tienen nada que ver. La cookie es la tarjeta de socio que le dice al sitio «quién eres»; la caché es la reutilización de materiales que son «iguales para todo el mundo». Un logo es el mismo logo seas tú o cualquier otra persona, así que se puede reutilizar del almacén; una tarjeta de socio no es algo que se reutilice. Borrarlas también difiere por completo: borra las cookies y se cierra tu sesión; borra la caché y las páginas solo cargan más lento un tiempo (lo repasamos en la FAQ Q1).

2. Hay cachés por todas partes ── el almacén del navegador es solo una de ellas

2-1. «Caché» es el nombre de una idea, no de una función

Un detalle importante: «caché» no es el nombre de una función concreta del navegador. Es el nombre genérico de una idea ── en lugar de volver a traer algo, reutiliza la copia que guardaste a mano. Y esa idea se usa en todos los rincones de la informática.

DóndeCopia de quéArtículo relacionado en este sitio
El almacén del navegadorMateriales de la página (imágenes, CSS, JS) ── el protagonista de este artículoEste artículo
Las notas de la guía telefónicaRespuestas a consultas: «la dirección (IP) de este sitio es esta»¿Qué es DNS? §5
Almacenes compartidos de oficinas y redesMateriales populares agrupados para todos los de la red──
Los almacenes de la red de reparto (CDN)Copias de los materiales de un sitio repartidas por el mundoPrevisto para un artículo futuro
Memoria ultrarrápida dentro de la CPUCopias de datos usados al calcular (caché L1/L2/L3)El diagrama de jerarquía de memoria en el artículo del reinicio

Si leíste nuestro artículo sobre DNS, recordarás esto: «una vez consultado un número, guarda la nota un tiempo y no vuelvas a preguntar». Es exactamente la misma idea. Sea la respuesta a una consulta (DNS) o la mercancía en sí (materiales de la página), el patrón es idéntico ── reutiliza una copia, ahórrate la petición.

2-2. Más capas, más velocidad ── y más sitios donde queda una copia vieja

Es gracias a todas estas capas de caché apiladas que internet funciona a su velocidad actual. Si cada acceso del mundo hiciera cada petición completa, cada vez, ni las líneas ni los servidores aguantarían.

Pero eso crea la propiedad que está en el corazón de este artículo. Más lugares guardando copias significa más lugares donde puede quedarse una copia desfasada. Tu almacén está al día, pero un almacén compartido por el camino aún guarda la copia vieja ── eso puede pasar perfectamente. Retomamos este hilo en el §4.

💡 Tip

El «lado del sitio» de esa tabla ── qué es exactamente el servidor que guarda los materiales originales ── merece un artículo propio. Está previsto para una entrada futura.

3. ¿Hasta cuándo se puede reutilizar una copia? ── etiquetas de caducidad y consultas de stock

3-1. Cada paquete lleva una etiqueta de caducidad

Si el almacén reutilizara su mercancía para siempre, ninguna actualización del sitio llegaría jamás a tu pantalla. Pero si el navegador preguntara al servidor «¿esto sigue valiendo?» por cada artículo, ahorrarse la petición perdería la mitad de su sentido.

El punto medio es la etiqueta de caducidad. Cuando el servidor entrega un material, le pega una fecha al paquete: «reutilízalo hasta una hora», «este aguanta un año» (técnicamente, una indicación llamada Cache-Control ── no hace falta memorizar el nombre). Para todo lo que esté dentro de fecha, el navegador lo saca directamente de la estantería y ni siquiera pregunta al servidor. Ese es el camino más rápido.

La fecha la decide el sitio, material por material. Un logo que casi nunca cambia recibe una fecha larga; un plano de portada (HTML) que cambia a menudo, una corta ── ese es el reparto típico.

3-2. Caducado no significa tirado ── la consulta de stock

Entonces, cuando la fecha vence, ¿el navegador tira la mercancía y lo vuelve a traer todo? Todavía no ── hay un paso más, bastante ingenioso: la consulta de stock.

El navegador solo le pregunta al servidor: «este artículo… ¿sigue sirviendo?». Si nada cambió en el lado del servidor, la respuesta entera es una línea: «sigue bien, úsalo tal cual» ── la mercancía en sí no se envía (técnicamente, una respuesta corta llamada 304). Por grande que sea el archivo, la consulta tarda un instante, así que este camino también es rápido. Solo si el artículo cambió de verdad llega un paquete nuevo, con etiqueta fresca incluida.

  1. 1Dentro de fechaDirecto de la estantería. Ni se pregunta al servidor (lo más rápido).
  2. 2Caducado → consulta → «sigue bien»Una respuesta de una línea lo resuelve; no se envía mercancía (rápido igualmente).
  3. 3Caducado → consulta → «cambió»Llega un paquete nuevo y sustituye la copia de la estantería (como una primera visita).

3-3. Las notas de la guía telefónica llevan la misma etiqueta

¿Te suena esta regla ── reutilizar hasta la fecha y luego volver a traer? Es exactamente el TTL de nuestro artículo sobre DNS (la indicación de cuántos segundos se puede reutilizar una nota de la guía telefónica). Y aquella historia de que «esperar a que se propague una mudanza de sitio» es en realidad esperar a que caduquen las notas de todo el mundo ── podría decirse que era la versión DNS del mismísimo incidente que vamos a resolver en el §4.

4. La verdadera causa de «lo actualicé pero no cambió nada» ── los archivos nuevos deberían estar ahí

4-1. Nada está roto y aun así la página sigue vieja

Ya tenemos todas las herramientas para resolver el incidente del principio.

En el momento en que actualizas tu web, los materiales nuevos están de verdad en el servidor. Pero en el almacén local del visitante hay materiales viejos cuya fecha de caducidad aún no ha vencido. Como vimos en el §3, sobre lo que está dentro de fecha el navegador ni siquiera pregunta al servidor ── es decir, nunca tiene ocasión de enterarse de que existen archivos nuevos, y sigue sirviendo los viejos.

Qué pasa durante «lo actualicé pero no cambió nada»

  servidor            almacén local         pantalla
  [archivos nuevos] ×── [archivos viejos] ──>  la página sigue vieja
       △                 dentro de fecha
    ya existen       «aún se puede reusar»     nada está roto
                     así que nadie pregunta

Ese es todo el misterio. Sin bug y sin avería ── la página vieja persiste precisamente porque todos siguieron las reglas. Es la cara B inevitable de la decisión que compra la velocidad: «dentro de fecha, no preguntes».

4-2. Por qué a ti se te arregló y a los demás no

Esta es la parte que más confunde a quien administra un sitio. En tu pantalla, borrar la caché lo arregló. Y aun así los clientes siguen escribiendo: «a mí me sigue saliendo la versión antigua».

La explicación es simple: cada visitante tiene su propio almacén. Lo que vaciaste fue tu almacén, y solo el tuyo; los almacenes de tus clientes conservan sus materiales viejos hasta que caduquen las etiquetas. Puedes limpiar tu estantería ── no puedes alcanzar la de nadie más (lo que sí puede hacer el propio sitio está al final del §5).

4-3. No hay un solo almacén ── ¿dónde está la copia vieja?

Y recogiendo el hilo del §2: entre tú y los materiales puede haber varios niveles de almacenes. El almacén de tu navegador, el compartido de la red de tu empresa, los de la red de reparto (CDN) y las notas de la guía telefónica (DNS) ── según en qué nivel esté la copia vieja, cambia quién puede arreglarlo. El único que controlas es el tuyo.

⚠️ Error común

Cuando «borré la caché y sigue saliendo lo viejo», la copia desfasada no suele estar en tu almacén ── está en un almacén intermedio (el compartido de tu oficina, o el de la red de reparto) o en las notas de la guía telefónica (DNS). Por mucho que limpies tu estantería, un almacén del camino no se vacía. Justo después de una mudanza de sitio, sospecha de las notas DNS esperando a caducar (→ la historia de la «propagación» en nuestro artículo sobre DNS).

5. Cómo arreglarlo y cómo convivir con ello ── no lo borres todo a la primera

5-1. Prueba primero la medida más ligera

Cuando una página «no se actualiza», saltar directamente al borrado completo de la caché es, en realidad, la jugada derrochadora. La regla de oro son tres pasos, del menor impacto al mayor.

PasoMedidaQué haceImpacto
1Recarga forzada (Windows: Ctrl+F5 / Mac: Cmd+Shift+R)Ordena volver a traer, ignorando las etiquetas, solo los materiales de esta páginaSolo esta página. Prácticamente sin efectos secundarios
2Abrir la página en una ventana privada/incógnitoPrueba con un almacén vacío ── si ahí se ve bien, queda confirmado que el culpable es tu almacénSolo diagnóstico. No borra nada
3Borrar la cachéVacía el almacén de todos los sitiosÚltimo recurso. Todo carga más lento un tiempo

El paso 2 es discretamente el importante. Si la página sigue vieja incluso en ventana privada, tu almacén no es el problema (sospecha de los almacenes intermedios del §4-3 ── o de que la actualización nunca llegó a publicarse). Diagnostica primero y nunca vaciarás todas las estanterías para nada.

5-2. Borrar la caché no te cierra la sesión

El motivo más común para dudar es «¿no me cerrará la sesión en todas partes?» ── y aquí puedes respirar. Como vimos en el §1-3, la caché (copias de mercancía) y las cookies (tus tarjetas de socio) viven en cajones separados. Borrar solo la caché deja tus sesiones intactas.

El matiz: el diálogo de borrado del navegador suele mostrar al lado una casilla de «cookies también», y marcarla, obviamente, sí te cierra la sesión. Las entradas del diálogo corresponden a tres cajones distintos ── copias de mercancía (caché), tarjetas de socio (cookies) y notas de los lugares visitados (historial). En cuanto ves que estás eligiendo qué cajón vaciar, pierde todo el miedo (FAQ Q5).

Borrar la caché tiene exactamente una desventaja: durante un tiempo, cada sitio vuelve a ser «primera visita» y carga más lento. No se rompe nada.

5-3. Medio paso para quien construye sitios ── entregar actualizaciones sin esperar

Para terminar, medio paso hacia el lado de quien construye el sitio. Como no puedes ir vaciando los almacenes de los visitantes, los sitios que necesitan entregar actualizaciones con garantías usan este truco: renombrar el propio material y enviarlo como un artículo distinto. Convierte logo.png en logo-v2.png y ningún almacén de visitante tiene copia con ese nombre ── la petición está garantizada. (Se llama cache busting.) Un sitio que nunca sufre el «mi actualización no se ve» es algo que se puede construir por diseño.

Resumen ── la esencia en 4 líneas

  • La caché es un almacén local: las copias de materiales traídos una vez se reutilizan y se ahorra la petición ── la razón misma de que «la segunda vez sea más rápida»
  • Cada paquete lleva su fecha de caducidad: dentro de fecha, ni se pregunta al servidor (lo más rápido). Después, consulta de stock ── un «sigue bien» lo resuelve en una línea
  • El incidente es una copia vieja dentro de fecha: los materiales nuevos ya están en el servidor, pero un almacén dentro de fecha nunca pregunta ── nada está roto y aun así la página sigue vieja
  • Arregla con la medida más ligera primero: recarga forzada → ventana privada para diagnosticar → borrar. Borrar no te cierra la sesión (las tarjetas de socio viven en otro cajón)

Y con esto, el juego está completo: la caja (HTTPS), la tarjeta de socio (cookies) y el almacén (caché). Para releerlo desde la imagen completa de una petición, ve a el resumen de la serie.

FAQ

Q1. ¿Borrar la caché me cierra la sesión? ¿En qué se diferencia de las cookies?

A. Borrar solo la caché no te cierra la sesión. La caché son «copias de materiales (imágenes y similares) que ya recibiste»; lo que te mantiene con la sesión iniciada es la cookie (tu tarjeta de socio) ── un cajón aparte (→ nuestro artículo sobre cookies). Solo se cierra la sesión si además marcas las cookies en el diálogo de borrado. El coste completo de borrar la caché es «las páginas cargan más lento un tiempo» ── no se rompe nada.

Q2. Borré la caché y sigue saliendo lo viejo. ¿Y ahora qué?

A. Es la señal de que la copia vieja vive en un lugar que no es tu almacén. Tres candidatos: ① un almacén compartido de la red de tu oficina o similar (espera, o consulta al administrador de red), ② el almacén del propio sitio o de su red de reparto (CDN) (solo el operador del sitio puede purgarlo), ③ las notas de la guía telefónica ── la caché DNS (típico justo después de una mudanza de sitio; → el Tip de nuestro artículo sobre DNS). Si en ventana privada sigue saliendo lo viejo, es casi seguro uno de estos. Comparar la página con datos móviles y con Wi-Fi ayuda a separar ① de ②.

Q3. ¿Conviene borrar la caché con regularidad?

A. No ── es innecesario. El almacén se gestiona solo mediante las fechas de caducidad: la mercancía vencida se sustituye por sí sola y, cuando falta espacio, lo más viejo se descarta automáticamente. Borrarla por calendario solo devuelve cada sitio a una «primera visita» y lo ralentiza todo cada vez. Reserva el borrado para una situación: diagnosticar un problema de visualización.

Q4. ¿En el móvil pasa lo mismo?

A. Sí ── el mecanismo es idéntico, y el navegador de tu móvil también tiene su almacén. Un detalle que conviene saber: el navegador que se abre dentro de una app (cuando tocas un enlace en una app social, por ejemplo) usa un almacén separado del de tu navegador habitual. El «en Safari ya se ve bien pero desde la app sigue viejo» ocurre porque son dos almacenes distintos.

Q5. En el diálogo de borrado, ¿qué diferencia hay entre «caché», «cookies» e «historial»?

A. Son tres cajones separados. La caché son copias de materiales (borrarla solo ralentiza un tiempo); las cookies son tarjetas de socio (borrarlas cierra tu sesión y reinicia los ajustes de los sitios); el historial son las notas de los lugares visitados (borrarlo quita visitas pasadas de las sugerencias de la barra de direcciones y similares). Cuando «un sitio se ve mal», el cajón relevante es básicamente solo la caché ── así que el hábito seguro es vaciar únicamente el cajón que corresponde a tu objetivo.

Comments

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *