¿Qué es el Caché? ⚡
¡Uno de los secretos para que los sitios web carguen rápidamente es precisamente el caché! Te explicaré qué es el caché y cómo funciona de manera que hasta los principiantes puedan entenderlo fácilmente.
¿Cómo comparar el caché con la vida cotidiana?
Comparemos el caché con un bloc de notas en el escritorio.
La historia del bloc de notas 📝
Sin bloc de notas (sin caché):
Cada vez que necesitas el número de teléfono de un amigo
1. Abrir el cajón
2. Sacar la guía telefónica
3. Buscar el número
4. Guardar la guía telefónica de nuevo
→ Toma tiempo cada vez 😓
Usando el bloc de notas (usando caché):
Anotar los números frecuentes en el bloc del escritorio
1. Mirar el bloc de notas
2. ¡Llamar inmediatamente!
→ Rápido y conveniente ⚡
¡El caché funciona igual!
Guardar temporalmente
los datos frecuentes
cerca
→ ¡Acceso rápido!
Definición de caché
Caché (Cache)
- Guardar temporalmente datos frecuentes en almacenamiento rápido
- Mejorar la velocidad es el objetivo
- El original permanece intacto, solo se guarda la copia
¿Por qué necesitamos caché?
Comparación de velocidad
Obtener datos del servidor:
Navegador → (Internet) → Servidor → Datos → (Internet) → Navegador
Tiempo: 500ms (lento 🐌)
Obtener datos del caché:
Navegador → Caché local → Datos
Tiempo: 10ms (rápido ⚡)
→ ¡50 veces más rápido!
Tipos de caché
1. Caché del navegador 🌐
Caché guardado en el navegador web
Primera visita:
Navegador → Servidor: "Dame index.html"
Servidor → Navegador: [Transferencia de archivo + "Puedes guardarlo en caché"]
Navegador: Guardar archivo
Siguiente visita:
Navegador: "¡Ah, está en el caché!" → Usar inmediatamente
→ Carga rápida sin solicitud al servidor ⚡
Lo que se guarda:
- Archivos HTML
- Archivos CSS
- Archivos JavaScript
- Imágenes (logos, iconos, etc.)
- Fuentes
2. Caché CDN 🌍
Almacenamiento distribuido en servidores de todo el mundo
Usuario (España) → Servidor CDN (Madrid) → Contenido
↓
Respuesta rápida ⚡
vs
Usuario (España) → Servidor original (EE.UU.) → Contenido
↓
Respuesta lenta 🐌
3. Caché del servidor 💾
Cachear datos en el servidor
Cachear resultados de consultas de base de datos
Cachear respuestas de API
Cachear resultados de cálculos
4. Caché de memoria (RAM) 🧠
Guardado en la memoria del ordenador
Orden de velocidad:
Caché de memoria (más rápido) ⚡⚡⚡
Caché de disco (rápido) ⚡⚡
Red (lento) ⚡
Proceso de funcionamiento del caché
1. Primera solicitud (Fallo de caché)
1. Navegador: "¡Necesito logo.png!"
2. Verificar caché: "¿No está?"
3. Solicitar al servidor: "Dame logo.png"
4. Respuesta del servidor: [Archivo + Política de caché]
5. Usar archivo + Guardar en caché
2. Segunda solicitud (Acierto de caché)
1. Navegador: "¡Necesito logo.png!"
2. Verificar caché: "¡Está!" ✅
3. Usar inmediatamente desde el caché
→ Sin solicitud al servidor ⚡
Encabezados de control de caché
El servidor le dice al navegador cómo cachear:
Cache-Control
Cache-Control: max-age=3600
→ Usar caché durante 3600 segundos (1 hora)
Cache-Control: no-cache
→ Verificar con el servidor cada vez
Cache-Control: no-store
→ No cachear
Cache-Control: public
→ Cualquiera puede cachear
Cache-Control: private
→ Solo el navegador del usuario puede cachear
Expires
Expires: Wed, 21 Oct 2025 07:28:00 GMT
→ El caché es válido hasta esta fecha
ETag
ETag: "33a64df551425fcc55e4d42a148795d9f25f89d4"
→ Identificador único del archivo
→ Verificar si el archivo ha cambiado
Validación de caché (Validation)
Solicitud condicional
Navegador → Servidor: "Tengo el archivo, ¿ha cambiado?"
If-None-Match: "33a64df55..."
Servidor → Navegador: "¡No ha cambiado!"
304 Not Modified
Navegador: "¡Entonces uso el caché!" ✅
Si el archivo ha cambiado:
Servidor → Navegador: "¡Ha cambiado!"
200 OK + archivo nuevo
Ventajas del caché
✅ Velocidad de carga rápida
Primera visita: 3 segundos
Segunda visita: 0.5 segundos ⚡
→ ¡6 veces más rápido!
✅ Reducción de carga del servidor
1 millón de visitantes
→ 90% sin solicitud al servidor gracias al caché
→ El servidor solo procesa 100,000 solicitudes
✅ Reducción de costes
Reducción de tráfico de red
→ Reducción de costes del servidor 💰
✅ Uso sin conexión
Las páginas cacheadas
se pueden ver sin Internet
Desventajas del caché
❌ Contenido obsoleto
Incluso si el archivo se actualiza
se usa la versión antigua del caché
❌ Uso de almacenamiento
Cuando se acumula el caché
ocupa espacio en disco
❌ Necesita gestión de caché
Configurar tiempo de expiración apropiado
Necesita estrategia de invalidación de caché
Resolución de problemas de caché
Problema 1: ¡La actualización no se muestra!
Soluciones:
- Recarga forzada (Hard Refresh)
Windows: Ctrl + F5
Mac: Cmd + Shift + R
- Eliminar caché
Chrome: Configuración → Borrar datos de navegación → Caché
- Modo incógnito
Ctrl + Shift + N (Chrome)
→ No usa caché
Problema 2: Cambiar nombre de archivo (Cache Busting)
Solución para desarrolladores:
<!-- Mal ejemplo -->
<link rel="stylesheet" href="style.css">
<!-- Buen ejemplo: Agregar número de versión -->
<link rel="stylesheet" href="style.css?v=1.2.3">
<!-- Mejor ejemplo: Hash de archivo -->
<link rel="stylesheet" href="style.abc123.css">
¡Cuando el archivo cambia, el nombre también cambia y se descarga de nuevo!
Estrategias de caché
1. Recursos estáticos (no cambian)
Logos, iconos, bibliotecas
Cache-Control: max-age=31536000, immutable
→ Cachear 1 año (garantía de no cambio)
2. Contenido actualizado frecuentemente
Artículos de noticias, lista de productos
Cache-Control: max-age=300
→ Cachear solo 5 minutos
3. Información personal
Perfil de usuario, información de cuenta
Cache-Control: private, no-cache
→ Solo navegador del usuario, verificar cada vez
4. Nunca cachear
Página de pago, información sensible
Cache-Control: no-store
→ Prohibir caché
Gestión de caché en el navegador
Herramientas de desarrollador de Chrome
F12 → Pestaña Network
→ Verificar caché en la columna "Size"
(disk cache) = Cargado desde caché de disco
(memory cache) = Cargado desde caché de memoria
Mostrar tamaño = Descargado del servidor
Eliminar caché
Chrome:
Configuración → Privacidad y seguridad
→ Borrar datos de navegación
→ Marcar Imágenes y archivos en caché
→ Borrar
Ejemplos de uso real
Ejemplo 1: Caché de imagen
Primera visita:
GET /logo.png
← 200 OK (1MB descargado, 500ms)
Cache-Control: max-age=86400
Siguiente visita:
GET /logo.png
← (disk cache) (0KB, 10ms)
→ ¡50 veces más rápido! ⚡
Ejemplo 2: Archivo CSS
<link rel="stylesheet" href="styles.abc123.css">
Cache-Control: max-age=31536000, immutable
→ Cachear 1 año, hash incluido en el nombre del archivo
→ El nombre también cambia al modificar el archivo
Ejemplo 3: Caché de respuesta de API
// Respuesta del servidor
Cache-Control: max-age=60
// Si llamas a la misma API en 1 minuto
→ Usar respuesta cacheada
→ Reducir carga del servidor
Preguntas frecuentes (FAQ)
P1: ¿Cuál es la diferencia entre caché y cookie?
R:
- Caché: Almacenamiento de archivos (carga rápida)
- Cookie: Almacenamiento de datos pequeños (mantener estado)
P2: ¿Hay que eliminar el caché frecuentemente?
R: ¡Normalmente no es necesario!
- El navegador lo gestiona automáticamente
- Elimina automáticamente los antiguos si falta espacio
- Solo eliminar manualmente cuando hay problemas
P3: ¿El caché en modo incógnito?
R: Solo usa caché temporal
- Todo se elimina al cerrar la ventana
- No usa el caché existente
P4: ¿Cuánta capacidad tiene el caché?
R: Varía según el navegador:
- Chrome: ~50MB por sitio
- Caché total: ~varios GB
P5: ¿El móvil también usa caché?
R: ¡Sí! Funciona de la misma manera.
- Ahorra datos
- Carga rápida
Invalidación de caché (Cache Invalidation)
Uno de los problemas más difíciles en ciencias de la computación:
"¿Cuándo se debe eliminar el caché?"
Estrategias
- Basado en tiempo
Expiración automática cada 10 minutos
- Basado en eventos
Eliminar caché cuando se actualizan los datos
- Gestión de versiones
Incluir versión/hash en el nombre del archivo
Siguientes pasos 🚀
Si has entendido el caché:
- ✅ ¿Qué es una Cookie? - Otro método de almacenamiento del navegador
- ✅ Entender solicitud/respuesta HTTP - Cómo funcionan los encabezados de caché
- ✅ ¿Qué es una VPN? - Seguridad en Internet
Resumen
¡El caché es la magia que hace que la Web sea rápida! ⚡
Puntos a recordar:
- Caché = Almacenamiento temporal
- Objetivo: Mejorar velocidad
- Guardar datos frecuentes
- Se gestiona automáticamente, no hay que preocuparse
- Solo eliminar cuando hay problemas
Gracias al caché, los sitios web cargan rápidamente. ¡La próxima vez que navegues por la web, intenta sentir el caché funcionando! 🚀