103

Early Hints

El servidor dando spoilers útiles. Cuando te adelanta pistas para que tu navegador vaya preparando terreno.

ℹ️ Informational

💡 ¿Qué narices es esto?

El código 103 Early Hints es como cuando tu colega te dice "eh, que luego vas a necesitar esto" antes de contarte toda la historia. El servidor te adelanta información útil mientras prepara la respuesta completa. Es básicamente un spoiler, pero del bueno.

Este código es relativamente nuevo (RFC 8297) y está diseñado para optimizar el rendimiento web. Permite al servidor enviar headers importantes como Link para preload o preconnect antes de que tenga lista la respuesta final. Es como decirle al navegador:

  • "Oye, que luego vas a necesitar este CSS, ve descargándolo"
  • "Conecta ya a este dominio que lo vamos a usar"
  • "Precarga esta imagen importante"
  • "Prepara estas fuentes que van en la página"

🚀 Dato curioso

El 103 es como tener un asistente personal que te prepara todo antes de que llegues. Tu navegador puede empezar a descargar recursos críticos mientras el servidor todavía está cocinando la respuesta HTML principal.

Lo genial del 103 es que puede reducir significativamente los tiempos de carga, especialmente en sitios que dependen de muchos recursos externos como CSS, JS, fuentes o imágenes críticas.

🔧 Cómo implementar esto

🌐 Para navegadores

  1. Recibe el 103: Procesa los headers Link inmediatamente.
  2. Inicia preloads: Comienza a descargar recursos indicados.
  3. Mantén conexión: Espera la respuesta final del servidor.
  4. Optimiza caché: Usa recursos ya descargados.
  5. Procesa respuesta final: 200, 404, etc.

🛠️ Para servidores

  1. Identifica recursos críticos: CSS, JS, fuentes importantes.
  2. Envía 103 temprano: Antes de procesar la respuesta completa.
  3. Incluye headers Link: Con rel=preload, preconnect, etc.
  4. Continúa procesando: Prepara la respuesta HTML principal.
  5. Envía respuesta final: Con el contenido completo.

Problemas típicos con 103

  • Cliente no soporta 103:
    HTTP client no entiende el 103 Early Hints
    Algunos navegadores antiguos no soportan este código de estado.
  • Proxies intermedios:
    504 Gateway Timeout antes del 103
    El proxy puede hacer timeout antes de que llegue el 103.

🚀 Respuesta rápida para emergencias

🔥 Si estás implementando 103:
1. Envía el primer 103 rápido
2. Repite cada 30-60 segundos durante el procesamiento
3. Testea que tu cliente HTTP soporta códigos 1xx
🎯 Truco ninja:
Si el 103 no es viable, considera usar APIs asíncronas, devuelve 202 Accepted y usa un job ID para permitir consultar el estado.