Heim > Betrieb und Instandhaltung > Sicherheit > Was sind die HTTP-Antwortstatuscodes?

Was sind die HTTP-Antwortstatuscodes?

WBOY
Freigeben: 2023-05-16 08:37:05
nach vorne
2887 Leute haben es durchsucht

HTTP ist ein Protokoll der Anwendungsschicht, obwohl die HTTP/2-Version 2015 eingeführt wurde und von den wichtigsten Webbrowsern und Webservern unterstützt wird.

Seine Hauptfunktionen lassen sich wie folgt zusammenfassen:

Unterstützt den Client/Server-Modus.

Einfach und schnell: Wenn ein Client einen Dienst vom Server anfordert, muss er nur die Anforderungsmethode und den Anforderungspfad übermitteln. Aufgrund der Einfachheit des HTTP-Protokolls ist die Programmgröße des HTTP-Servers gering und die Kommunikationsgeschwindigkeit sehr hoch.

Flexibel: HTTP ermöglicht die Übertragung jeglicher Art von Datenobjekten. Der zu übertragende Typ wird durch Content-Type gekennzeichnet.

Keine Verbindung: Die Bedeutung von „Keine Verbindung“ besteht darin, jede Verbindung auf die Verarbeitung nur einer Anfrage zu beschränken. Nachdem der Server die Anfrage des Clients verarbeitet und die Antwort des Clients empfangen hat, wird die Verbindung getrennt. Diese Methode spart Übertragungszeit.

Zustandslos: Das HTTP-Protokoll ist ein zustandsloses Protokoll. Zustandslos bedeutet, dass das Protokoll über keine Speicherkapazität für die Transaktionsverarbeitung verfügt. Das Fehlen eines Status bedeutet, dass, wenn für die nachfolgende Verarbeitung die vorherigen Informationen erforderlich sind, diese erneut übertragen werden müssen, was zu einer Erhöhung der pro Verbindung übertragenen Datenmenge führen kann. Andererseits reagiert der Server schneller, wenn er keine vorherigen Informationen benötigt. Um dieses Problem zu lösen, führen Webprogramme einen Cookie-Mechanismus ein, um den Status aufrechtzuerhalten.

Darüber hinaus bestehen HTTP-Anforderungsnachrichten und Antwortnachrichten aus einer Startzeile (bei Anforderungsnachrichten ist die Startzeile die Anforderungszeile, bei Antwortnachrichten ist die Startzeile die Statuszeile), einem Nachrichtenkopf (optional) und einem Leerzeichen Zeile (nur CRLF-Zeile), Nachrichtentext (optional).

Als Softwaretester ist es wichtig, die Bedeutung des von einigen Servern zurückgegebenen HTTP-Status zu verstehen. Nur wenn Sie diese Statuscodes verstehen, können Sie einen umfassenden Blick auf die HTTP-Statuscodes werfen:

Antwort Statuscode

Der Statuscode besteht aus drei Ziffern. Die erste Ziffer definiert die Art der Antwort und hat fünf mögliche Werte.

1xx: Anzeigeinformationen – zeigen an, dass die Anfrage eingegangen ist und weiterhin verarbeitet wird.

2xx: Erfolg – ​​Zeigt an, dass die Anfrage erfolgreich empfangen, verstanden und angenommen wurde.

3xx: Umleiten – Es müssen weitere Vorgänge durchgeführt werden, um die Anfrage abzuschließen.

4xx: Clientfehler – Die Anfrage weist einen Syntaxfehler auf oder die Anfrage kann nicht erfüllt werden.

5xx: Serverseitiger Fehler – Der Server konnte eine legitime Anfrage nicht erfüllen.

Häufig verwendete Statuscodes:

1xx – Informationsaufforderung

Diese Statuscodes weisen auf vorübergehende Antworten hin. Der Kunde sollte darauf vorbereitet sein, eine oder mehrere 1xx-Antworten zu erhalten, bevor er eine reguläre Antwort erhält.

· 100 – Weiter Die ursprüngliche Anfrage wurde angenommen und der Kunde sollte mit dem Senden des Rests der Anfrage fortfahren.

· 101 – Protokolle wechseln Der Server wird der Anfrage des Clients nachkommen und auf ein anderes Protokoll umstellen.

2xx – Erfolg

Diese Art von Statuscode zeigt an, dass der Server die Client-Anfrage erfolgreich angenommen hat.

· 200 - OK Alles ist in Ordnung, es folgen die Antwortdokumente für GET- und POST-Anfragen.

· 201 – Erstellt Der Server hat das Dokument erstellt und der Location-Header gibt seine URL an.

· 202 – Akzeptiert Die Anfrage wurde angenommen, aber die Verarbeitung wurde noch nicht abgeschlossen.

· 203 – Nicht verbindliche Informationen Das Dokument wurde normal zurückgegeben, aber einige Antwortheader sind möglicherweise falsch, da eine Kopie des Dokuments verwendet wird, nicht verbindliche Informationen.

· 204 – Kein Inhalt Es gibt kein neues Dokument, der Browser sollte weiterhin das Originaldokument anzeigen. Dieser Statuscode ist nützlich, wenn der Benutzer die Seite regelmäßig aktualisiert und das Servlet feststellen kann, dass das Dokument des Benutzers aktuell genug ist.

· 205 – Inhalt zurücksetzen Es gibt keinen neuen Inhalt, aber der Browser sollte den angezeigten Inhalt zurücksetzen. Wird verwendet, um den Browser zu zwingen, Formulareingabeinhalte zu löschen.

· 206 – Teilinhalt Der Client hat eine GET-Anfrage (chunked request) mit dem Range-Header gesendet und der Server hat sie abgeschlossen.

3xx – Weiterleitung

Der Client-Browser muss weitere Maßnahmen ergreifen, um die Anfrage zu erfüllen. Beispielsweise muss der Browser möglicherweise eine andere Seite auf dem Server anfordern oder die Anfrage über einen Proxyserver wiederholen.

· 300 – Mehrere Auswahlmöglichkeiten Das vom Kunden angeforderte Dokument kann an mehreren Orten gefunden werden, die im zurückgegebenen Dokument aufgeführt sind. Wenn der Server eine Präferenz vorschlagen möchte, sollte er diese im Location-Antwortheader angeben.

· 301 – Dauerhaft verschoben Das vom Client angeforderte Dokument befindet sich woanders, die neue URL wird im Location-Header angegeben und der Browser sollte automatisch auf die neue URL zugreifen.

· 302 – Gefunden Ähnlich wie 301, aber die neue URL sollte als vorübergehender und nicht als dauerhafter Ersatz betrachtet werden. Beachten Sie, dass die entsprechende Statusmeldung in HTTP 1.0 „Temporär verschoben“ lautet. Wenn dieser Statuscode auftritt, kann der Browser automatisch auf die neue URL zugreifen, es handelt sich also um einen nützlichen Statuscode. Beachten Sie, dass dieser Statuscode manchmal austauschbar mit 301 verwendet werden kann. Einige Server geben 301 zurück, während andere 302 zurückgeben. Streng genommen können wir nur davon ausgehen, dass der Browser nur dann automatisch umleitet, wenn die ursprüngliche Anfrage ein GET war. Siehe 307.

· 303 – Siehe Andere ähnelt 301/302, außer dass, wenn die ursprüngliche Anfrage POST ist, das im Location-Header angegebene Umleitungszieldokument über GET extrahiert werden sollte.

· 304 – Nicht geändert Der Client hat Dokumente gepuffert und eine bedingte Anfrage ausgegeben (in der Regel wird ein If-Modified-Since-Header bereitgestellt, um anzugeben, dass der Client nur Dokumente möchte, die neuer als das angegebene Datum sind). Der Server teilt dem Client mit, dass das ursprünglich zwischengespeicherte Dokument weiterhin verwendet werden kann.

· 305 – Proxy verwenden Das vom Client angeforderte Dokument sollte über den im Location-Header angegebenen Proxyserver abgerufen werden (neu in HTTP 1.1).

· 307 – Temporäre Weiterleitung ist dasselbe wie 302 (Gefunden). Viele Browser leiten fälschlicherweise mit einer 302-Antwort um, selbst wenn die ursprüngliche Anfrage ein POST war, obwohl eine Weiterleitung eigentlich nur möglich ist, wenn die Antwort auf eine POST-Anfrage eine 303 ist. Aus diesem Grund hat HTTP 1.1 307 hinzugefügt, um die verschiedenen Statuscodes klarer zu unterscheiden: Wenn eine 303-Antwort auftritt, kann der Browser umgeleiteten GET- und POST-Anfragen folgen, wenn es sich um eine 307-Antwort handelt, kann der Browser nur der Umleitung von GET-Anfragen folgen.

4xx – Client-Fehler

Diese Statuscodes weisen darauf hin, dass bei der Anfrage möglicherweise ein Fehler aufgetreten ist, sodass der Server die Anfrage nicht verarbeiten kann.

· 400 – Bad Request Der Server versteht die Syntax der Anfrage nicht.

· 401 – Nicht autorisiert Die Anfrage erfordert eine Authentifizierung. Nach der Anmeldung sendet der Server diese Antwort möglicherweise an die Seite zurück. Die Antwort enthält einen WWW-Authenticate-Header, und der Browser zeigt das Benutzername/Passwort-Dialogfeld entsprechend an und stellt dann die Anfrage erneut, nachdem er den entsprechenden Authorization-Header ausgefüllt hat. IIS definiert eine Reihe verschiedener 401-Fehler, die auf eine spezifischere Fehlerursache hinweisen. Diese spezifischen Fehlercodes werden im Browser angezeigt, jedoch nicht in den IIS-Protokollen:

· 401.1 – Anmeldung fehlgeschlagen.

· 401.2 – Serverkonfiguration verursacht Anmeldefehler.

· 401.3 – Aufgrund der ACL-Einschränkung der Ressource nicht autorisiert.

· 401.4 – Filterautorisierung fehlgeschlagen.

· 401.5 – ISAPI/CGI-Anwendungsautorisierung fehlgeschlagen.

· 401.7 – Der Zugriff wird durch die URL-Autorisierungsrichtlinie auf dem Webserver verweigert. Dieser Fehlercode ist spezifisch für IIS 6.0.

· 403 – Verboten Der Server hat die Anfrage abgelehnt. Wird normalerweise durch die Berechtigungseinstellungen von Dateien oder Verzeichnissen auf dem Server verursacht. Zugriff verboten: IIS definiert eine Reihe verschiedener 403-Fehler, die auf spezifischere Fehlerursachen hinweisen:

· 403.1 – Ausführungszugriff ist verboten.

· 403.2 – Lesezugriff verboten.

· 403.3 – Schreibzugriff verboten.

· 403.4 – SSL erforderlich.

· 403.5 – SSL 128 erforderlich.

· 403.6 – IP-Adresse verweigert.

· 403.7 – Kundenzertifikat erforderlich.

· 403.8 – Site-Zugriff verweigert.

· 403,9 – Zu viele Benutzer.

· 403.10 – Ungültige Konfiguration.

· 403.11 – Passwortänderung.

· 403.12 – Zugriff auf Zuordnungstabelle verweigert.

· 403.13 – Client-Zertifikat widerrufen.

· 403.14 – Verzeichniseintrag abgelehnt.

· 403.15 – Client-Zugriffsberechtigung überschritten.

· 403.16 – Client-Zertifikat ist nicht vertrauenswürdig oder ungültig.

· 403.17 – Das Client-Zertifikat ist abgelaufen oder noch nicht gültig.

· 403.18 – Die angeforderte URL kann im aktuellen Anwendungspool nicht ausgeführt werden. Dieser Fehlercode ist spezifisch für IIS 6.0.

· 403.19 – CGI kann für Clients in diesem Anwendungspool nicht ausgeführt werden. Dieser Fehlercode ist spezifisch für IIS 6.0.

· 403.20 – Passport-Anmeldung fehlgeschlagen. Dieser Fehlercode ist spezifisch für IIS 6.0.

· 404 – Nicht gefunden Der Server kann die angeforderte Webseite nicht finden. Beispielsweise gibt der Server diesen Code normalerweise zurück, wenn die Anforderung eine Seite betrifft, die auf dem Server nicht vorhanden ist.

· 404.0 – (Keine) – Datei oder Verzeichnis nicht gefunden.

· 404.1 – Auf die Website kann über den angeforderten Port nicht zugegriffen werden.

· 404.2 – Diese Anfrage wird durch die Sperrrichtlinie für Webdiensterweiterungen blockiert.

· 404.3 – Diese Anfrage wird durch die MIME-Zuordnungsrichtlinie blockiert.

· 405 – Methode nicht zulässig Die Anforderungsmethode (GET, POST, HEAD, DELETE, PUT, TRACE usw.) ist auf die angegebene Ressource nicht anwendbar und das für den Zugriff auf diese Seite verwendete HTTP-Verb ist nicht zulässig (Methode nicht). zulässig)

· 406 – Nicht akzeptabel Die angegebene Ressource wurde gefunden, aber ihr MIME-Typ ist nicht mit dem vom Client im Accpet-Header angegebenen kompatibel. Der Client-Browser akzeptiert den MIME-Typ der angeforderten Seite nicht.

· 407 – Proxy-Authentifizierung erforderlich Dieser Statuscode ähnelt 401 (Nicht autorisiert), gibt jedoch an, dass der Anforderer einen Proxy zur Autorisierung verwenden soll. Wenn der Server diese Antwort zurückgibt, gibt der Server auch den Proxy an, den der Anforderer verwenden soll.

· 408 – Request Timeout Der Client hat während der vom Server zugelassenen Wartezeit keine Anfrage gestellt. Der Kunde kann die gleiche Anfrage später wiederholen.

· 409 – Konflikt Der Server ist beim Abschließen der Anfrage auf einen Konflikt gestoßen. Der Server muss in der Antwort Informationen über den aufgetretenen Konflikt enthalten. Der Server gibt diesen Code möglicherweise zurück, wenn er auf eine PUT-Anfrage antwortet, die mit einer vorherigen Anfrage in Konflikt steht, und stellt eine Liste der Unterschiede zwischen den beiden Anfragen bereit.

· 410 – Weg Das angeforderte Dokument ist nicht mehr verfügbar und der Server weiß nicht, an welche Adresse er umleiten soll. Der Unterschied zu 404 besteht darin, dass die Rückgabe von 407 bedeutet, dass das Dokument den angegebenen Speicherort dauerhaft verlassen hat, während 404 bedeutet, dass das Dokument aus unbekannten Gründen nicht verfügbar ist.

· 411 – Länge erforderlich Der Server akzeptiert keine Anfrage, die ein ungültiges Content-Length-Header-Feld enthält, es sei denn, der Client sendet einen Content-Length-Header.

· 412 – Vorbedingung fehlgeschlagen Einige im Anforderungsheader angegebene Vorbedingungen sind fehlgeschlagen.

· 413 – Anforderungsentität zu groß Das Zieldokument ist größer, als der Server derzeit verarbeiten kann. Wenn der Server glaubt, dass er die Anfrage später bearbeiten kann, sollte er einen Retry-After-Header bereitstellen.

· 414 – Anforderungs-URI zu lang Der URI ist zu lang.

· 415 – Nicht unterstützter Medientyp.

· 416 – Angeforderter Bereich nicht erfüllt Der Server kann den vom Client in der Anfrage angegebenen Range-Header nicht erfüllen.

·417 – Ausführung fehlgeschlagen.

· 423 – Gesperrter Fehler.

5xx – Serverfehler

Diese Statuscodes weisen darauf hin, dass ein interner Fehler aufgetreten ist, während der Server versuchte, die Anfrage zu verarbeiten. Bei diesen Fehlern kann es sich um Fehler auf dem Server selbst und nicht um einen Fehler in der Anfrage handeln.

· 500 – Interner Serverfehler Der Server hat einen Fehler festgestellt und konnte die Anfrage nicht abschließen.

· 500.12 – Die Anwendung ist damit beschäftigt, auf dem Webserver neu zu starten.

· 500.13 – Der Webserver ist zu ausgelastet.

· 500,15 – Direkte Anfragen an Global.asa sind nicht zulässig.

· 500.16 – Falsche UNC-Autorisierungsdaten. Dieser Fehlercode ist spezifisch für IIS 6.0.

· 500.18 – URL-Autorisierungsspeicher kann nicht geöffnet werden. Dieser Fehlercode ist spezifisch für IIS 6.0.

· 500.100 – Interner ASP-Fehler.

· 501 – Nicht implementiert Der Server verfügt nicht über die Funktionalität, um die Anfrage abzuschließen. Beispielsweise kann der Server diesen Code zurückgeben, wenn die Anforderungsmethode vom Server nicht erkannt wird.

· 502 – Bad Gateway Der Server, der als Gateway oder Proxy fungiert, hat eine ungültige Antwort vom Upstream-Server erhalten.

· 502.1 – Zeitüberschreitung bei der CGI-Anwendung.

· 502.2 – CGI-Anwendungsfehler.

· 503 – Dienst nicht verfügbar Der Server ist derzeit nicht verfügbar (aufgrund von Überlastung oder Ausfallzeit wegen Wartungsarbeiten). Oftmals handelt es sich hierbei um einen vorübergehenden Zustand.

· 504 – Gateway-Timeout Der Server, der als Gateway oder Proxy fungiert, hat Anfragen vom Upstream-Server nicht rechtzeitig empfangen.

· 505 – HTTP-Version nicht unterstützt Der Server unterstützt die in der Anfrage verwendete HTTP-Protokollversion nicht.

Das obige ist der detaillierte Inhalt vonWas sind die HTTP-Antwortstatuscodes?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage