Saltar al contenido

HTTP error 511 Network Authentication Required

El cliente necesita autenticarse para obtener acceso a la red.

La representación de la respuesta DEBERÍA contener un enlace a un recurso que permita al usuario enviar sus credenciales (por ejemplo, con un formulario HTML).

Tenga en cuenta que la respuesta 511 NO DEBERÍA contener un reto o la propia interfaz de inicio de sesión, porque los navegadores mostrarían la interfaz de inicio de sesión como asociada a la URL solicitada originalmente, lo que podría causar confusión.

El estado 511 NO DEBERÍA ser generado por los servidores de origen; está destinado a ser utilizado por proxies interceptores que se interponen como medio de control de acceso a la red.

Las respuestas con el código de estado 511 NO DEBEN ser almacenadas por una caché.

El código de estado 511 está diseñado para mitigar los problemas causados por los «captive portals» (portales cautivos) al software (especialmente a los clientes que no son navegadores) que espera una respuesta del servidor al que se hizo una solicitud, no de la infraestructura de red interviniente. No se pretende fomentar el despliegue de portales cautivos, sino limitar los daños que causan.

Un operador de red que desee exigir algún tipo de autentificación, aceptación de las condiciones u otra interacción con el usuario antes de concederle acceso, suele hacerlo identificando a los clientes que no lo han hecho («unknown clients» (clientes desconocidos)) mediante sus direcciones de control de acceso a los medios (MAC).

A los clientes desconocidos se les bloquea todo el tráfico, excepto el del puerto TCP 80, que se envía a un servidor HTTP (el «login server» (servidor de inicio de sesión)) dedicado a «iniciar la sesión» de los clientes desconocidos, y por supuesto el tráfico al propio servidor de inicio de sesión.

Por ejemplo, un cliente podría conectarse a una red y hacer la siguiente petición HTTP en el puerto TCP 80:

GET /index.htm HTTP/1.1
Host: www.ejemplo.com

Al recibir dicha solicitud, el servidor de acceso generaría una respuesta 511:

HTTP/1.1 511 Network Authentication Required
Content-Type: text/html

<html>
  <head>
    <title>Network Authentication Required</title>
    <meta http-equiv="refresh" content="0; url=https://login.ejemplo.net/">
  </head>
  <body>
    <p>Necesita <a href="https://login.ejemplo.net/">
    autentificarse con la red local</a> para conseguir acceso.</p>
  </body>
</html>

Aquí, el código de estado 511 asegura que los clientes que no son navegadores no interpretarán la respuesta como si fuera del servidor de origen, y el elemento META HTML redirige al cliente al servidor de inicio de sesión.

Referencias de programación del Código de Error 511

  • Symfony HTTP Status Constant Response::HTTP_NETWORK_AUTHENTICATION_REQUIRED
  • C# HTTP Status Enum HttpStatusCode.NetworkAuthenticationRequired
  • Rust HTTP Status Constant http::StatusCode::NETWORK_AUTHENTICATION_REQUIRED

Resumen
Error HTTP 511 Network Authentication Required
Nombre del artículo
Error HTTP 511 Network Authentication Required
Descripción
El cliente necesita autenticarse para obtener acceso a la red.
Autor
Publisher Name
Códigos HTTP
Publisher Logo