¿Qué narices es esto?
El código 506 Variant Also Negotiates es el "ayuda, estoy atrapado en un bucle infinito" de HTTP. Es cuando el servidor intenta hacer content negotiation (elegir entre versiones en español, inglés, JSON, XML...) pero las variantes se referencian unas a otras en un círculo vicioso que nunca termina. Como dos espejos enfrentados creando infinitas reflexiones.
Variant Also Negotiates significa que una variante también negocia - el servidor detectó que una variante de contenido también es un negociador, creando un bucle de negociación recursivo. Esto pasa típicamente con TCN (Transparent Content Negotiation) mal configurado en Apache, donde las variantes apuntan a otros recursos que también negocian.
El 506 aparece específicamente en:
- Servidores Apache con mod_negotiation mal configurado
- Archivos .var que crean referencias circulares
- TCN donde las variantes apuntan a otros negociadores
- Content negotiation con configuraciones recursivas
- Cuando una variante es también un recurso que negocia
🎯 Dato curioso
El 506 es el error más "meta" de HTTP: es un error sobre errores de configuración que crean bucles infinitos sobre decidir qué mostrar. Es como un filósofo preguntándose quién vigila al vigilante, pero en versión servidor web.
La situación típica es surrealista: el cliente pide un recurso multiidioma, el servidor consulta su configuración de variantes, encuentra que la variante española apunta a un recurso que también negocia, que apunta a otro que también negocia... y así hasta el infinito. El servidor, detectando esta locura, dice "nope, 506" y corta por lo sano antes de quedarse sin memoria.