Heim  >  Artikel  >  Backend-Entwicklung  >  PHP gibt HTTP-Statuscodes und allgemeine Statuscodes aus

PHP gibt HTTP-Statuscodes und allgemeine Statuscodes aus

WBOY
WBOYOriginal
2016-08-08 09:19:392763Durchsuche
header("HTTP/1.1 403 Forbidden");
echo <<<sql
        <!DOCTYPE html>
        <html lang="en">
        	<head>
        		<meta charset="utf-8">
				<meta name="viewport" c minimum-scale=1, width=device-width">
				<title>Error 404 Not Found</title>
			</head>
			<body>
		  		<H1>Not Found</H1> <p><ins>That’s an error.</ins></p>
		  		<p>The requested URL <code><?php echo dirname({$_SERVER["SCRIPT_NAME"]});?></code> was not found on this server.  
		  		<ins>That’s all we know.</ins></p>
		  	</body>
		</html>
        <HTML>
            <HEAD>
                <meta charset="utf-8">
                <TITLE>404 Not Found</TITLE>
            </HEAD>
            <BODY>
                <H1>Not Found</H1>
                    The requested URL <?php echo dirname({$_SERVER["SCRIPT_NAME"]});?> was not found on this server.<P>
                <HR>
                <ADDRESS>Web Server at {$_SERVER["SERVER_NAME"]} Port {$_SERVER["SERVER_PORT"]}</ADDRESS>
            </BODY>
        </HTML>
sql;

http://www.w3.org/Protocols/rfc2616/rfc2616
Hypertext Transfer Protocol – HTTP/1.1
http://www.w3.org/Protocols/rfc2616/rfc2616 -sec10.html
100-199 wird verwendet, um bestimmte Aktionen anzugeben, auf die der Client reagieren soll.
200-299 wird verwendet, um das erfolgreiche Verstehen und Akzeptieren der Anfrage anzuzeigen.
300-399 wird für Dateien verwendet, die verschoben wurden, und ist oft in den Standort-Header-Informationen enthalten, um die neuen Adressinformationen anzugeben.
400-499 wird verwendet, um Clientfehler anzuzeigen.
500-599 wird zur Unterstützung von Serverfehlern verwendet.
[Informational 1xx] Information
100="Continue" Continue: Wenn der Server eine Anfrage mit 100-continue im Header erhält, bedeutet dies, dass der Client fragt, ob er in nachfolgenden Anfragen Anhänge senden kann. In diesem Fall verwendet der Server 100 (SC_CONTINUE), um dem Client das Fortfahren zu ermöglichen, oder 417 (Expectation Failed), um dem Client mitzuteilen, dass er der Annahme des Anhangs nicht zustimmt. Dieser Statuscode ist neu in HTTP 1.1.
101="Switching Protocols" Switching Protocols: Der Server versteht und ist bereit, die Anforderungen des Clients zu erfüllen und das in dieser Verbindung verwendete Anwendungsprotokoll durch ein Upgrade des Nachrichtenheaderfelds zu ändern.
[Erfolgreich 2xx] Erfolgreich
>>>200="OK" Erfolgreich
201="Erstellt" Erstellt: Die Anfrage wurde abgeschlossen, was zur Erstellung einer neuen Ressource führt. Seine URL sollte in den Positionierungs-Header-Informationen angegeben werden.
202="Akzeptiert" Akzeptiert: Die Verarbeitungsanforderung wurde akzeptiert, aber die Verarbeitung wurde noch nicht abgeschlossen.
203="Nicht-autoritative Informationen" Nicht autorisierte Informationen
>>>204="Kein Inhalt" Kein Inhalt: Der Server hat die Anfrage abgeschlossen, aber keinen Inhalt zurückgegeben.
205="Inhalt zurücksetzen" Inhalt zurücksetzen: Der Server hat die Anfrage abgeschlossen und der Benutzeragent sollte die Dokumentansicht zurücksetzen, die die Anfrage verursacht hat, was verwendet wird, um den Browser zu zwingen, die Formularfelder zu löschen. Dies ist neu in HTTP 1.1.
206="Partial Content" Partial Content: Wird gesendet, wenn der Server eine Teilanforderung mit Range-Header-Informationen abschließt
[Redirection 3xx] Redirect
300="Multiple Choices" Multiple Choices: Zeigt an, dass das angeforderte Dokument dies kann sind an mehreren Stellen zu finden und werden in den zurückgegebenen Dokumenten aufgeführt. Wenn der Server Präferenzen hat, werden die Präferenzen im Header der Standortantwort aufgeführt.
>>>301="Permanent verschoben" Dauerhaft verschoben: Der angeforderten Ressource wird ein neuer permanenter URI zugewiesen und alle zukünftigen Verweise auf diese Ressource sollten diesen zurückgegebenen URI verwenden, und der Browser stellt automatisch eine Verbindung zu dieser neuen URL her . HINWEIS: Bei der automatischen Umleitung einer POST-Anfrage, die den Statuscode 301 empfängt, ändern einige vorhandene HTTP/1.0-Benutzeragenten diese fälschlicherweise in eine GET-Anfrage
>>>302="Gefunden" Gefunden: Die Ressource vorübergehend anfordern befindet sich in einem temporären URI. Es ähnelt in gewisser Weise 301, außer dass die in den Positionierungsheaderinformationen angegebene URL als temporäre und nicht als permanente Austauschadresse zu verstehen ist. Hinweis: In HTTP 1.0 werden Nachrichten vorübergehend verschoben (Moved Temporarily) und nicht gefunden
303="See Other" See Other: Die Antwort auf diese Anfrage kann unter einem anderen URI erfolgen, und es sollte ein GET für die Ressource verwendet werden . Methodensuche. Ähnlich wie 301 und 302, außer dass, wenn die ursprüngliche Anfrage POST war, das neue Dokument (angegeben in den Positionierungs-Header-Informationen) mit GET abgerufen werden muss. Dieser Statuscode ist neu in HTTP 1.1.
>>>304="Nicht geändert" Nicht geändert: Wenn der Client eine GET-Anfrage bedingt ausführt und den Zugriff zulässt, die Datei jedoch nicht geändert wurde, sollte der Server mit diesem Statuscode antworten.
305="Proxy verwenden" Proxy verwenden: Auf das Standortfeld der angeforderten Ressource muss über einen Proxy zugegriffen werden. Neu in HTTP 1.1.
306="(Unused)" (Unused) Der Statuscode 306 verwendet die vorherige Version der Spezifikation und wird nicht mehr verwendet. Der Code ist reserviert
307="Temporary Redirect" Temporäre Umleitung: Die angeforderte Ressource ist liegt temporär in einem anderen URI. Die Regeln für Browser zum Umgang mit dem 307-Status sind dieselben wie für 302. Der Status 307 wurde zu HTTP 1.1 hinzugefügt, da viele Browser beim Empfang einer 302-Antwort eine falsche Umleitung durchführten, selbst wenn die ursprüngliche Nachricht ein POST war. Es wird davon ausgegangen, dass der Browser bei einer POST-Anfrage nur dann umleitet, wenn eine 303-Antwort empfangen wird. Der Zweck des Hinzufügens dieses neuen Statuscodes ist klar: Wenn die Antwort 303 ist, wird sie zu GET- und POST-Anfragen umgeleitet, wenn die Antwort 307 ist, wird sie zu GET-Anfragen anstelle von POST-Anfragen umgeleitet.
[Client-Fehler 4xx] Client-Fehler
>>>400="Bad Request" Der Server versteht die Syntax der Anfrage nicht.
>>>401="Nicht autorisiert" Nicht autorisiert: Die Anfrage erfordert eine Benutzerauthentifizierung. Wenn die Anfrage bereits ein Autorisierungszertifikat enthält, zeigt die 401-Antwort an, dass die Anmeldeinformationen abgelehnt wurden. Diese Antwort muss einen WWW-Authenticate-Autorisierungsheader enthalten.
402="Zahlung erforderlich" Zahlung erforderlich: Dieser Code ist für die zukünftige Verwendung reserviert.
>>>403="Verboten" Verboten: Der Server versteht die Anfrage, weigert sich jedoch, sie zu erfüllen.
>>>404="Not Found" Not Found
405="Method Not Allowed" Methode nicht zulässig: Die in der Anforderungszeile angegebene Methode darf die durch den URI identifizierte Ressource nicht anfordern. Zeigt an, dass die Anforderungsmethode (GET, POST, HEAD, PUT, DELETE usw.) für bestimmte Ressourcen nicht zulässig ist.
406="Nicht akzeptabel": Zeigt an, dass der MIME-Typ der angeforderten Ressource nicht mit dem Typ übereinstimmt, der in den Accept-Header-Informationen im Client angegeben ist.
407="Proxy-Authentifizierung erforderlich" Proxy-Authentifizierung: Dieser Code ähnelt 401 (Nicht autorisiert), bedeutet jedoch, dass sich der Client zuerst authentifizieren muss.
408="Request Timeout" Request Timeout: Der Client hat während der Wartezeit des Servers keine Anfrage generiert. Neu in HTTP 1.1.
409="Konflikt" Konflikt: Die Anfrage kann aufgrund eines Konflikts mit dem aktuellen Status der Ressource nicht abgeschlossen werden. Dieser Status wird normalerweise bei PUT-Anfragen verwendet. Der 409-Status wird häufig verwendet, wenn versucht wird, eine falsche Version einer Datei hochzuladen. Dieser Statuscode ist neu in HTTP 1.1.
>>>410="Gone" Gone: Die angeforderte Ressource ist kein verfügbarer Server mehr und hat keine Weiterleitungsadresse. Teilt dem Kunden mit, dass das angeforderte Dokument nicht mehr existiert und keine aktualisierte Adresse hat. Der Status 410 unterscheidet sich von 404. 410 wird verwendet, wenn das Leitliniendokument verschoben wurde, während 404 für Unzugänglichkeit aus unbekannten Gründen verwendet wird. Dieser Statuscode ist neu in HTTP 1.1.
411="Länge erforderlich" Länge erforderlich: Der Server weigerte sich, die Anfrage anzunehmen, ohne die Inhaltslänge zu definieren. Zeigt an, dass der Server die Anfrage nicht verarbeiten kann (vorausgesetzt, es handelt sich um eine POST-Anfrage mit Anhang), es sei denn, der Client sendet einen Content-Length-Header, der die Größe der an den Server zu sendenden Daten angibt. Dieser Status ist neu in HTTP 1.1.
412="Vorbedingung fehlgeschlagen" Vorbedingung fehlgeschlagen: Die in einem oder mehreren Anforderungsheaderfeldern angegebene Vorbedingung, wenn ein oder mehrere Anforderungsheaderfelder auf dem Server getestet werden. Zeigt an, dass bestimmte Voraussetzungen in den Anforderungsheadern falsch sind. Dieser Status ist neu in HTTP 1.1.
413="Anforderungsentität zu groß" Die Anforderungsentität ist zu groß: Teilt dem Client mit, dass das angeforderte Dokument größer ist, als der Server derzeit verarbeiten möchte. Wenn der Server glaubt, dass er nach einer Weile verarbeitet werden kann, fügt er einen Retry-After-Antwortheader hinzu. Dieser Status ist neu in HTTP 1.1.
414="Request-URI Too Long" Der Anfrage-URI ist zu lang: Der Status wird verwendet, wenn der URI zu lang ist. Der hier genannte „URI“ bezieht sich auf den Inhalt nach dem Host, dem Domänennamen und der Portnummer in der URL. Neu zu HTTP 1.1 hinzugefügt.
415="Nicht unterstützter Medientyp" Nicht unterstützter Medientyp: Der Formattyp des an die Anfrage angehängten Anhangs ist dem Server nicht bekannt und weiß nicht, wie er damit umgehen soll. Dieser Status ist neu in HTTP 1.1.
416="Angeforderter Bereich nicht erfüllbar" Angeforderter Bereich nicht erfüllbar: Zeigt an, dass der Client eine Anforderung mit Bereichsheaderinformationen enthält, die der Server nicht erfüllen kann. Dieser Status ist neu in HTTP 1.1.
417="Expectation Failed" Erwartungsfehler: Wenn der Server einen Expect-Anforderungsheader mit einem 100-Continue-Wert erhält, bedeutet dies, dass der Client fragt, ob er in nachfolgenden Anforderungen Anhänge senden kann. In diesem Fall teilt der Server dem Browser auch mit dem Status (417) mit, dass der Server den Anhang nicht akzeptiert, oder mit dem Status 100 dem Client, dass er den Anhang weiterhin senden kann. Dieser Status ist neu in HTTP 1.1.
[Serverfehler 5xx] Serverfehler
>>>500="Interner Serverfehler" Interner Serverfehler
>>>501="Nicht implementiert" Ausführung nicht möglich: Der Server unterstützt es nicht. Funktionalität, die zum Abschließen der Anfrage erforderlich ist. Teilt dem Client mit, dass der Server die in der Anfrage angeforderte Funktionalität nicht unterstützt. Beispielsweise führt der Client einen Befehl wie PUT aus, den der Server nicht unterstützt.
>>>502="Bad Gateway" Bad Gateway: Der Server, der als Gateway oder Proxy fungiert, hat beim Versuch, die Zugriffsanforderung zu erfüllen, eine ungültige Antwort vom Upstream-Server erhalten. Dieser Status zeigt an, dass der empfangende Server eine Fehlerantwort vom Remote-Server erhalten hat.
>>>503="Dienst nicht verfügbar" Dienst nicht verfügbar: Der Server kann derzeit aufgrund vorübergehender Überlastung oder Serverwartung keine Anfragen verarbeiten. Einige Server möchten die Verbindung möglicherweise einfach ablehnen. Beispielsweise sollte der Server diesen Header zurückgeben, wenn einige Threads oder Datenbankverbindungspools nicht mehr frei sind. Der Server kann einen Retry-After-Header bereitstellen, um dem Client mitzuteilen, wann er es erneut versuchen kann.
504="Gateway-Timeout" Gateway-Timeout: Zeigt an, dass der empfangende Server keine rechtzeitige Antwort vom Remote-Server erhalten hat. Dieser Status ist neu in HTTP 1.1.
505="HTTP-Version nicht unterstützt" HTTP-Version wird nicht unterstützt: Der Server unterstützt die in der Anforderungsnachricht verwendete Version des HTTP-Protokolls nicht oder verweigert die Unterstützung. Dieser Status ist neu in HTTP 1.1.
Einfache Version:
Erfolgreicher 2XX-Statuscode, der die Anfrage erfolgreich verarbeitet hat.
200 Der Server hat die Anfrage erfolgreich verarbeitet und die angeforderte Webseite bereitgestellt.
204 Der Server hat die Anfrage erfolgreich verarbeitet, aber nichts zurückgegeben.
Bei jeder Anfrage für jede Anfrage mehr als 5 Mal auf 3xx zurückgesetzt.
301 Die angeforderte Webseite wurde dauerhaft an einen neuen Speicherort verschoben. Wenn sich URLs ändern, verwenden Sie den Code 301. Speichern Sie die neue URL im Suchmaschinenindex.
302 Die angeforderte Webseite wird vorübergehend an einen neuen Speicherort verschoben. Die Original-URL wird im Suchmaschinenindex gespeichert.
304 Wenn die Webseite seit der letzten Anfrage des Anforderers nicht aktualisiert wurde, teilen Sie dies dem Suchmaschinenroboter mit dem Code 304 mit, was Bandbreite und Overhead sparen kann.
Client-Fehler 4XX weist darauf hin, dass die Anfrage möglicherweise fehlerhaft ist und die Verarbeitung durch den Server behindert.
400 Der Server versteht die Syntax der Anfrage nicht.
403 Der Server hat die Anfrage abgelehnt.
404 Der Server kann die angeforderte Webseite nicht finden. Dieser Code wird häufig für Webseiten zurückgegeben, die nicht auf dem Server vorhanden sind.
410 Der Server gibt diese Antwort zurück, nachdem die angeforderte Ressource dauerhaft gelöscht wurde. Dieser Code ähnelt dem 404-Code (Nicht gefunden),
, wird jedoch manchmal anstelle des 404-Codes verwendet, wenn die Ressource zuvor vorhanden war, jetzt aber nicht mehr vorhanden ist. Wenn eine Ressource dauerhaft gelöscht wurde, sollte 301 verwendet werden, um den neuen Speicherort der Ressource anzugeben.
Serverfehler 5XX bedeutet, dass ein interner Fehler aufgetreten ist, während der Server die Anfrage verarbeitet hat. Bei diesen Fehlern kann es sich um Fehler auf dem Server selbst und nicht um Fehler in der Anfrage handeln.
500 Der Server hat einen Fehler festgestellt und konnte die Anfrage nicht abschließen.
503 Der Server ist derzeit nicht verfügbar (aufgrund von Überlastung oder Ausfallzeit wegen Wartungsarbeiten). Normalerweise handelt es sich hierbei um einen vorübergehenden Zustand.
Detaillierte Aufschlüsselung:
2XX Erfolgreich
200 Normale Anfrage abgeschlossen.
201 Normal; unmittelbar gefolgt vom POST-Befehl.
202 OK; zur Bearbeitung angenommen, aber die Bearbeitung ist noch nicht abgeschlossen.
203 Normal; Teilinformationen – nur ein Teil der Informationen wird zurückgegeben.
204 Normal; Keine Antwort – Die Anfrage wurde empfangen, es liegen jedoch keine Informationen zum Zurücksenden vor.
3XX Redirect
301 Verschoben – Die angeforderten Daten haben einen neuen Speicherort und die Änderung ist dauerhaft.
302 gefunden – Die angeforderten Daten haben vorübergehend einen anderen URI.
303 Siehe Andere – Die Antwort auf die Anfrage ist unter einem anderen URI zu finden und sollte mit der GET-Methode abgerufen werden.
304 Nicht geändert – Das Dokument wurde nicht wie erwartet geändert.
305 Proxy verwenden – Auf die angeforderte Ressource muss über den im Standortfeld angegebenen Proxy zugegriffen werden.
306 Unbenutzt – Wird nicht mehr verwendet; bewahren Sie diesen Code für die zukünftige Verwendung auf.
4XX Fehler im Client
400 Bad Request – Es liegt ein Syntaxproblem in der Anfrage vor oder die Anfrage kann nicht erfüllt werden.
401 Nicht autorisiert – Der Kunde ist nicht berechtigt, auf die Daten zuzugreifen.
402 Zahlung erforderlich – Zeigt an, dass das Abrechnungssystem aktiv ist.
403 Verboten – Kein Zugriff erforderlich, auch nicht mit Autorisierung.
404 Nicht gefunden – Der Server kann die angegebene Ressource nicht finden; das Dokument existiert nicht.
407 Proxy-Authentifizierungsanforderung – Der Client muss sich zunächst mithilfe eines Proxys authentifizieren.
415 Nicht unterstützter Medientyp – Der Server weigerte sich, die Anfrage zu bearbeiten, da das Format der angeforderten Entität nicht unterstützt wird.
5XX Fehler im Server
500 Interner Fehler – Der Server kann die Anfrage aufgrund unerwarteter Umstände nicht abschließen.
501 Nicht ausgeführt – Der Server unterstützt das angeforderte Tool nicht.
502 Bad Gateway – Der Server hat eine ungültige Antwort vom Upstream-Server erhalten.
503 Dienst konnte nicht abgerufen werden – Der Server konnte die Anfrage aufgrund vorübergehender Überlastung oder Wartungsarbeiten nicht verarbeiten.
504 Gateway Timeout
Wenn ein Server, der als Gateway oder Proxy fungiert, versucht, eine Anfrage auszuführen, erhält er diese nicht rechtzeitig vom Upstream-Server (dem durch den URI identifizierten Server, z. B. HTTP, FTP, LDAP). ) oder die Antwort des Hilfsservers (z. B. DNS).
Hinweis: Einige Proxyserver geben einen 400- oder 500-Fehler zurück, wenn eine DNS-Abfrage das Zeitlimit überschreitet.
505 HTTP-Version nicht unterstützt
Der Server unterstützt die in der Anfrage verwendete HTTP-Version nicht oder weigert sich, sie zu unterstützen . Dies bedeutet, dass der Server nicht in der Lage oder nicht bereit ist, dieselbe Version wie der Client zu verwenden. Die Antwort sollte eine Entität enthalten, die beschreibt, warum die Version nicht unterstützt wird und welche Protokolle der Server unterstützt.
506-Variante verhandelt auch
Erweitert durch das Transparent Content Negotiation Protocol (RFC 2295) und stellt einen internen Serverkonfigurationsfehler dar: Die angeforderte Verhandlungsvariablenressource ist so konfiguriert, dass sie sich selbst in der transparenten Inhaltsverhandlung verwendet, also in einem ausgehandelten Prozess ist kein angemessener Schwerpunkt.
507 Unzureichender Speicher
Der Server kann den zum Abschließen der Anfrage erforderlichen Inhalt nicht speichern. Dieser Zustand gilt als vorübergehend. WebDAV (RFC 4918)
508-Schleife erkannt
Der Server hat eine Endlosschleife in der Anfrage gefunden
509 Bandbreitenlimit überschritten
Der Server hat das Bandbreitenlimit erreicht. Dies ist kein offizieller Statuscode, wird aber dennoch häufig verwendet.
510 nicht erweitert
Die zur Ressourcenbeschaffung erforderlichen Strategien werden nicht erfüllt. (RFC 2774)

Urheberrechtserklärung: Dieser Artikel ist ein Originalartikel des Bloggers und darf nicht ohne die Erlaubnis des Bloggers reproduziert werden.

Das Obige stellt den von PHP ausgegebenen http-Statuscode und allgemeine Statuscodes vor, einschließlich der relevanten Inhalte. Ich hoffe, dass es für Freunde hilfreich ist, die an PHP-Tutorials interessiert sind.

Stellungnahme:
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