El cliente necesita autenticarse para obtener acceso a la red.
El código HTTP error 511 significa «Autenticación de red requerida» . Indica que el cliente debe autenticarse para tener acceso al recurso o servicio solicitado. Algunos sistemas o aplicaciones pueden utilizarlo para indicar que se requiere autenticación para el acceso a una red. El cliente debe proporcionar las credenciales necesarias para poder tener acceso al recurso o servicio solicitado. Este código de respuesta se utiliza cuando el recurso solo está disponible para usuarios autenticados y no se ha proporcionado una credencial válida. El servidor puede incluir información adicional en el cuerpo de la respuesta para indicar qué tipos de autenticación son compatibles.
La representación de la respuesta http 511 network authentication required DEBERÍA contener un enlace a un recurso que permita al usuario enviar sus credenciales y solucionar el problema(por ejemplo, con un formulario HTML).
Tenga en cuenta que la respuesta http 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 de error http 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 511 NO DEBEN ser almacenadas por una caché.
El error de internet http 511 network authentication required 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 network authentication required 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