510

Not Extended

El unicornio de los errores HTTP. Un estándar que existe desde 2000 pero que prácticamente nadie ha visto jamás en la vida real.

🦄 Server Error

📋 ¿Qué narices es esto?

El código 510 Not Extended es el "necesitas más plugins para esta página" de HTTP. Es cuando el servidor dice que para procesar tu petición necesita extensiones HTTP adicionales que no están disponibles. Como cuando intentas abrir un archivo .rar pero no tienes WinRAR instalado, pero en versión servidor web y mucho más raro.

Not Extended significa que faltan extensiones - el servidor implementa el HTTP Extension Framework (RFC 2774) y ha determinado que tu petición requiere capacidades adicionales que no tiene activadas o instaladas. Es un mecanismo de negociación de capacidades que sonaba genial en papel pero que nadie implementó en serio.

El 510 debería aparecer en:

  • Servidores que implementan RFC 2774 (casi ninguno)
  • Sistemas con políticas de extensión estrictas
  • Proxies que requieren extensiones específicas
  • Aplicaciones que necesitan capacidades HTTP extendidas
  • Casos donde faltan headers de extensión obligatorios

🎯 Dato curioso

El 510 es como el Betamax de los códigos HTTP: técnicamente superior, oficialmente estándar, brillantemente diseñado... pero completamente ignorado por la industria. Lleva 25 años esperando su momento de gloria que probablemente nunca llegará.

La idea era revolucionaria: un framework donde el servidor podría decir "para hacer esto necesitas la extensión X, Y y Z", y el cliente podría decidir si las soporta o no. Perfecto para funcionalidades avanzadas, autenticación compleja, o protocolos especializados. Pero en la práctica, todo el mundo prefirió usar headers custom o APIs REST simples.

🔧 Cómo manejar este unicornio

🖥️ Para servidores (si implementas RFC 2774)

  1. Define políticas de extensión: Qué extensiones son obligatorias vs opcionales.
  2. Implementa negociación: Header Extension para comunicar capacidades.
  3. Configura fallbacks: Qué hacer cuando faltan extensiones críticas.
  4. Documenta extensiones: Lista clara de qué soporta tu servidor.
  5. Considera alternativas: ¿Realmente necesitas RFC 2774?

📱 Para desarrolladores (en el mundo real)

  1. Usa headers custom: X-Custom-Header es más simple que extensiones.
  2. Implementa feature detection: Prueba capacidades con OPTIONS.
  3. Maneja el 510 si aparece: Mensaje claro sobre extensiones faltantes.
  4. Considera HTTP/2+ features: En lugar de extensiones complejas.
  5. Documenta requerimientos: Qué necesita tu API para funcionar.

Problemas típicos con 510

  • RFC 2774 no implementado:
    Extension: Compliance="RFC-2774"
    HTTP/1.1 510 Not Extended

    El servidor dice que soporta extensiones pero luego no las implementa.
  • Extensión obligatoria faltante:
    GET /secure-data HTTP/1.1
    Man: "http://example.com/auth-ext"; ns=99

    Cliente no envía la extensión de autenticación requerida.
  • Proxy con políticas estrictas:
    Proxy-Extension-Policy: mandatory
    Required-Extensions: compression, auth

    Proxy requiere extensiones que el cliente no soporta.

🚀 Respuesta rápida para emergencias

🔥 Si ves un 510 (¡felicidades, eres especial!):
1. Revisa headers Extension y Man en la respuesta
2. Contacta al admin - probablemente no sabe qué pasa
3. Usa curl -v para ver toda la negociación
4. Documenta el caso - es históricamente interesante
🎯 Realidad check:
Si ves un 510 real, probablemente es un bug o alguien implementando RFC 2774 como experimento académico.