lucid: Welcher HTTP Status Code bei fehlender Berechtigung?

Beitrag lesen

Hallo,

für einen Administrationsbereich ist eine Anmeldung des Benutzers erforderlich. Ist der Benutzer nicht angemeldet und versucht auf eine geschützte Ressource zuzugreifen, wird ein Formular angezeigt, in dem Benutzername und Kennwort abgefragt werden. Meldet der Benutzer sich an, wird (unter der selben URI wie zuvor das Formular) die geschützte Ressource ausgegeben (Status: 200 OK).

Nun stellt sich mir die Frage, welcher HTTP Status Code am besten für die Auslieferung des Formulars zur Anmeldung gewählt werden sollte.

403 Forbidden schien mir anfangs die richtige Wahl zu sein. In der HTTP Spezifikation [1] steht allerdings der folgende Satz:

"Authorization will not help and the request SHOULD NOT be repeated."

Ist hiermit jegliche Art von Autorisierung gemeint oder nur die HTTP-eigene Autorisierung und wäre es widersprüchlich nach der Anmeldung unter der selben URI die geschützten Inhalte auszuliefern, wenn die Anfrage doch nicht wiederholt werden soll?

Kann ich 403 Forbidden ohne Bedenken nutzen, oder gibt es einen anderen Status, der hier besser passt?

Gruß
lucid

[1] http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.4