511 Network Authentication Required

Netzwerk-Authentifikation benötigt.

Bedeutung

Der Client muss sich authentifizieren um Zugriff auf das Netzwerk zu erhalten.

Spezifikation von 511 Network Authentication Required

Der 511 Network Authentication Required HTTP Status Code zeigt an, der Client sich authentifizieren muss, um Netzwerkzugriff zu erhalten.

Die Repräsentation der Antwort solle einen Link zu einer Ressource enthalten, welche dem Benutzer erlaubt Zugangsdaten zu übermitteln (zum Beispiel mit einem HTML-Formular).

Die 511 Antwort sollte nicht eine Herausforderung oder die Login-Benutzeroberfläche enthalten, da Browser diese Login-Benutzeroberfläche so anzeigen würden, als ob sie mit der URL assoziiert wäre, was zu Verwirrung führen könnte.

Der 511 Status sollte nicht von Ursprungsservern erzeugt werden; er ist dafür gedacht, von abfangenden Proxies genutzt zu werden, die als Maßnahme zur Kontrolle des Netzwerkszugriffs dazwischengeschaltet wurden.

Antworten mit 511 Status dürfen nicht von einem Cache zwischengespeichert werden.

Der 511 Status soll Probleme abmildern, die von einfangenden Portalen zu Software (besonders Nicht-Browser Agenten) die eine Antwort von dem Server, an den die Anfrage gestellt wurde, erwarten und nicht von der dazwischenliegenden Netzwerk-Infrastruktur. Dieser Statuscode ist nicht dafür gedacht die Bereitstellung solcher einfangender Portale zu befürworten – nur dazu, den durch sie verursachten Schaden zu begrenzen.

Ein Netzwerkbetreiber, der Authentifikation, das Akzeptieren von Benutzerbedingungen oder andere Interaktion erforderlich machen möchte, bevor er Zugriff gewährt tut dies normalerweise indem Clients über ihre Media Access Control (MAC) Adresse identifiziert werden.

Der Netzwerkverkehr von unbekannten Clients wird dann blockiert, mit Ausnahme von TCP-Port 80, welcher an einen HTTP-Sever geschickt wird, der zum Einloggen von unbekannten Clients dient – und natürlich für Verkehr zum Login-Server selbst.

Zum Beispiel könnte sich ein Benutzeragent könnte sich zu einem Netzwerk verbinden und die folgende HTTP-Anfrage an TCP-Port 80 senden:

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

Wenn der Login-Server so eine Anfrage erhält, würde er eine 511 Antwort erzeugen:

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.example.net/">
 </head>
 <body>
   <p>You need to <a href="https://login.example.net/"> 
   authenticate with the local network</a> in order to gain  
   access.</p>
  </body>
 </html>

Hier wird durch den 511 Status Code sichergestellt, dass Nicht-Browser Clients die Antwort als vom Ursprungsserver-stammend interpretieren und das META HTML Element leitet den Benutzeragent weiter zum Login-Server.

Spezifiziert wird der 511 Network Authentication Required HTTP Status Code durch Abschnitt 6. von RFC6585

Ausprobieren

🔧 Erzeuge eine Antwort mit dem HTTP Status Code 511

🔦 Checke den Status Code, die Anwort-Kopfzeilen und Weiterleitungsketten einer URL

HTTP-Versionen

  • HTTP 1.0
  • HTTP 1.1
  • HTTP 2
  • HTTP 3

Konstanten in Programmiersprachen

Symfony HTTP Status Constant
 Response::HTTP_NETWORK_AUTHENTICATION_REQUIRED