506

Variant Also Negotiates

Oficial
El punto final se negocia a sí mismo

Explicación general del código de estado 506

El código de estado HTTP 506 Variant Also Negotiates es un indicador de un problema específico dentro de un servidor que se produce cuando el servidor se implementa en una configuración que utiliza la llamada negociación de contenido transparente. Este tipo de negociación de contenido se utiliza para gestionar diferentes versiones de un recurso que se pueden entregar en función de los requisitos del cliente solicitante (por ejemplo, diferentes idiomas, formatos de archivo o codificaciones).

En esencia, el código de estado 506 Variant Also Negotiates significa que hay un error de configuración en el servidor que conduce a un bucle infinito de negociación. En lugar de que el servidor seleccione una versión específica del recurso solicitado basándose en las preferencias del cliente, la propia selección remite a otra negociación. El resultado es que no se entrega ninguna de las variantes porque el servidor está atrapado en un ciclo de referencias, en el que una variante remite a otra, que a su vez remite a otra, y así sucesivamente.

Un ejemplo sencillo: un cliente quiere una página web en un idioma concreto. El servidor dispone de diferentes versiones lingüísticas de la página web e intenta seleccionar la versión más adecuada. Sin embargo, si la configuración del servidor es incorrecta, el proceso que se supone que debe seleccionar la versión más adecuada podría remitir a otra ronda de negociaciones en lugar de hacer una selección definitiva. El código de estado 506 Variant Also Negotiates indica al cliente que el servidor no puede entregar una versión adecuada del recurso debido a estos conflictos internos o errores de configuración.

En la práctica, este código de estado rara vez se ve porque supone una configuración del servidor y una condición de error muy específicas. Resolver el problema requiere una revisión y corrección de la configuración del servidor para asegurar que la negociación de contenidos se puede realizar correctamente sin entrar en un bucle infinito.

Especificación del código de estado HTTP 506

El código de estado 506 Variant Also Negotiates indica que el servidor tiene un error de configuración interno: el recurso variante elegido está configurado para participar él mismo en la negociación de contenido transparente y, por lo tanto, no es un punto final adecuado en el proceso de negociación.

Fuente / Cita de: El código de estado HTTP 506 Variant Also Negotiates se especifica en la sección 8.1 de RFC2295.

¿Cómo lanzar un código de estado 506 con PHP?

Para lanzar el código de estado HTTP 506 en una página web, se puede utilizar la función PHP http_response_code. La sintaxis es la siguiente: http_response_code(506) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Probar el código de estado HTTP 506

Para poder mostrar el código de estado HTTP (en este caso 506 Variant Also Negotiates) y otra información en el lado del cliente, debe abrirse la consola de desarrollo con F12. A continuación, vaya a la pestaña "Red". Ahora se puede abrir la página, el sitio web (ejemplo index.php) debe ser visible en la pestaña de red. Esta debe ser seleccionada y luego la sección Herder debe ser seleccionada. El usuario verá entonces el siguiente resultado:

Código de estado 506 Variant Also Negotiates
Visión general
URL: https://http-statuscode.com/errorCodeExample.php?code=506
Estado: 506 Variant Also Negotiates
Esos: Network
Dirección IP: XX.XX.XX.XX
Código de estado 506 Variant Also Negotiates

Cómo crear su propia página de error para el código de estado 506

Crear su propia página de error 506 Variant Also Negotiates es relativamente fácil con los servidores web "Apache" y "NGINX".

Apache Webserver

El servidor web "Apache" es uno de los más comunes en Internet. Para crear su propia página de error 506 Variant Also Negotiates en "Apache", se debe realizar el siguiente cambio en el siguiente archivo.

File: .htaccess
ErrorDocument 506 /errors/506.html

NGINX Webserver

Similar al servidor web "Apache", "NGINX" también se utiliza ampliamente en Internet. Para crear su propia página de error 506 Variant Also Negotiates en "NGINX", es necesario realizar el siguiente cambio en el siguiente archivo.

File: sites-enabled/default
error_page 506 /506.html;
location = /506.html {
    root /usr/share/nginx/html;
    internal;
}

Compatibilidad del código de estado 506 con los navegadores

Chrome no data
Edge no data
Firefox no data
Opera no data
Safari no data
Chrome Android no data
Firefox for Android no data
Opera Android no data
Safari on iOS no data
Internet no data
WebView Android no data

Constantes en lenguajes de programación

http.StatusVariantAlsoNegotiates
Response::HTTP_VARIANT_ALSO_NEGOTIATES_EXPERIMENTAL
:variant_also_negotiates
Autor: Tony Brüser
Autor: Tony Brüser

Tony Brüser es un entusiasta desarrollador web aficionado a los códigos de estado HTTP.

LinkedInGitHub