Grundlagen der Webtechnologien

Auf einer Website nur für Mitglieder fordert ein angemeldetes gewöhnliches Mitglied eine Seite an, die nur Administratoren erlaubt ist. Der Server weiß, wer der Nutzer ist, erlaubt den Zugriff auf diese Seite aber nicht. Welcher Statuscode ist hier als Antwort am besten geeignet?

  1. A401 Unauthorized
  2. B403 Forbidden
  3. C404 Not Found
Antwort und Erläuterung anzeigen

Antwort: B. 403 Forbidden

403 Forbidden zeigt an, dass der Server die Anfrage verstanden hat, den Zugriff aber nicht erlaubt. 401 Unauthorized ist entgegen seinem Namen der Code für fehlende oder ungültige Authentifizierungsdaten; mit dem Header WWW-Authenticate wird mitgeteilt, wie man sich authentifiziert. Hier ist bekannt, wer der Nutzer ist, und es fehlt die Berechtigung (Autorisierung), daher trifft 403 zu. Manche Systeme geben bewusst 404 zurück, damit nicht einmal bekannt wird, dass es eine Administrationsseite gibt; der Code, der die Situation zutreffend beschreibt, ist aber 403.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Grundlagen der Webtechnologien

  1. Eine Web-API liefert als Body ihrer Antwort Daten im JSON-Format. Welcher Header wird der Antwort üblicherweise hinzugefügt, um das Format des Bodys anzugeben?
  2. Ein Browser fordert ein früher empfangenes Bild erneut an und setzt dabei den ETag-Wert aus der damaligen Antwort in den Header If-None-Match. Welche Antwort des Servers ist richtig, wenn sich das Bild auf dem Server nicht geändert hat?
  3. Welche Aussage über HTTP/2 und HTTP/3 ist richtig?
  4. Von einem Webserver mit einer Umlaufzeit (RTT) von 40 ms werden eine HTML-Datei und die vier darin referenzierten Bilder nacheinander einzeln abgerufen. Der Aufbau einer TCP-Verbindung dauert einen Umlauf, jede Anfrage mit Antwort ebenfalls einen Umlauf; Übertragungszeit der Daten, Verarbeitungszeit des Servers, TLS und Verbindungsabbau werden nicht berücksichtigt. Wie groß ist der Zeitunterschied zwischen einer neuen TCP-Verbindung für jedes Objekt und der Wiederverwendung einer einzigen TCP-Verbindung (persistente Verbindung)?
  5. HTTP ist ein zustandsloses Protokoll. Welche Aussage darüber, was das bedeutet, und über den üblichen Weg, wie eine Website einen Nutzer angemeldet hält, ist richtig?