Sollte ich einen http 401-Statuscode in einem HTML-basierten Anmeldeformular zurückgeben? Die Seite ist ein dediziertes Anmeldeformular und enthält keinen anderen aussagekräftigen Inhalt, sondern nur das Site-Framework. Die URL kann sich jedoch auf eine Seite beziehen, die aussagekräftigen Inhalt hat, jedoch eine Anmeldung erfordert. Beachten Sie, dass dieses Setup nur den Statuscode 401 zurückgibt und den Benutzer nicht zur grundlegenden Authentifizierung auffordert.
Wenn man sich die Standards ansieht, scheint 401 ein unangemessener Statuscode für HTML-basierte Anmeldeformulare zu sein. Ich habe jedoch noch nie irgendwelche negativen Konsequenzen davon erfahren oder gehört.
Beim Senden von 401 MUSS "Die Antwort ein WWW-Authenticate-Headerfeld (Abschnitt 14.47) enthalten, das eine für die angeforderte Ressource geltende Herausforderung enthält."
hier genannte Anforderung:
http://tools.ietf.org/html/rfc2616#section-10.4.2
detailliert hier:
http://tools.ietf.org/html/rfc2617#section-3.2.1
Ich weiß, dass es Möglichkeiten gibt, wie ich Suchmaschinen umgehen kann, um sie davon zu überzeugen, Seiten basierend auf dem Vorhandensein eines Anmeldeformulars zu indizieren oder nicht, aber ich würde lieber http-Statuscodes verwenden, insbesondere 401, da die Definition wie a erscheint perfekte Übereinstimmung, wenn nicht für die WWW-Authenticate-Header-Anforderung.
Gibt es einen Grund, warum ich 401 in diesem Fall nicht verwenden sollte? Gibt es semantisch einen Unterschied zwischen der Nichtautorisierung auf http-Ebene und der Autorisierung auf Anwendungsebene? Natürlich können Sie beides haben, aber ist die Authentifizierung nicht auf http-Ebene, nur um sie nicht auf Anwendungsebene zu implementieren?