Heim  >  Artikel  >  Web-Frontend  >  Kenntnisse über das http-Protokoll, die Front-End-Entwickler kennen müssen

Kenntnisse über das http-Protokoll, die Front-End-Entwickler kennen müssen

little bottle
little bottlenach vorne
2019-04-10 09:26:292786Durchsuche

http (Hypertext Transfer Protocol) ist ein zustandsloses Protokoll auf Anwendungsebene, das auf dem Anforderungs- und Antwortmodus basiert und häufig auf der TCP-Verbindungsmethode basiert. In diesem Artikel geht es um das Wissen über das http-Protokoll, das Front-End-Entwickler kennen müssen. Freunde, die Front-End erstellen möchten oder derzeit am Front-End arbeiten, müssen es wissen.

1. Konzept

http (Hypertext Transfer Protocol) ist ein Anfrage-und-Antwort-Modell Basierend auf zustandslosen Protokollen der Anwendungsschicht, häufig basierend auf der TCP-Verbindungsmethode. Die HTTP 1.1-Version bietet einen kontinuierlichen Verbindungsmechanismus. Die überwiegende Mehrheit der Webentwicklung basiert auf HTTP-Webanwendungen, die auf dem Protokoll basieren.

2. Entwicklung

Version 0.9 (unterstützt nur Get) - 1.0 - 1.1 - 2.0 (in Entwicklung)

Version 0.9 kann nur als Testversion betrachtet werden und wird nicht eingeführt. Sprechen Sie hauptsächlich über den Unterschied zwischen 1,0 und 1,1.

2.1 Permanente Verbindung und nicht-persistente Verbindung

Version 1.0 unterstützt nicht-persistente Verbindungen, was bedeutet, dass das TCP-Protokoll übergeben wird (http ist ein auf der Anwendungsschicht basierendes Protokoll). auf TCP) Drei-Wege-Handshake Nachdem die Verbindung hergestellt wurde, kann der Server nur ein Objekt an den Browser senden, und dann wird die Verbindung getrennt. Wenn die Webseite andere Inline-Objekte wie Bilder, JS-Dateien, CSS-Dateien usw. enthält. usw. müssen mehrere Verbindungen hergestellt werden, einschließlich des Mehraufwands für den mehrmaligen Aufbau/Trennen. Version 1.1 unterstützt kontinuierliche Verbindungen, sodass Version 1.1 theoretisch ressourcenschonender und schneller ist als 1.0, was jedoch nicht akzeptabel ist Es.

2.2 Host-Domäne

Das Host-Header-Feld gibt den Internet-Host und die Portnummer der angeforderten Ressource an und muss den Standort des ursprünglichen Servers oder Gateways der angeforderten URL angeben. HTTP/1.1-Anfragen müssen das Host-Header-Feld enthalten, andernfalls gibt das System den Statuscode 400 zurück. Dieses Feld scheint entbehrlich zu sein, vielleicht um die Geschwindigkeit zu erhöhen. Schließlich kann die direkte Angabe von HOST den entsprechenden Host schneller finden. Wenn der Host nicht vorhanden ist, kann er auch schneller erkannt werden.

2.3 Bandbreitenoptimierung

Version 1.1 unterstützt die teilweise Ressourcenanforderung, und Sie können nur einen Teil der Ressource anfordern. Gleichzeitig unterstützt Version 1.1 den 100-Statuscode. Wenn die Anforderungsentität groß ist, können Sie zunächst das Header-Feld mit dem 100-Statuscode senden, um zu bestätigen, ob der Server auf die Anforderung antworten kann wird erneut gesendet, sodass zu einem bestimmten Zeitpunkt in einigen nicht reagierenden Situationen Bandbreite gespart werden kann.

Spezifischer Prozess: Client – ​​sendet einen Anforderungsheader mit einem 100-Statuscode – der Server bestätigt, ob er antworten kann. Wenn nicht, gibt er den entsprechenden Statuscode zurück (z. B. 401, nicht authentifiziert). dann Statuscode „Return 100“ – der Client bestätigt anhand des Rückgabestatuscodes, ob er mit dem Senden der Anfrage fortfahren soll.

2.4 Anforderungsmethoden und Statuscodes

HTTP1.1 hat die Anforderungsmethoden OPTIONS, PUT, DELETE, TRACE, CONNECT hinzugefügt

Nur 16 sind in der HTTP/1.0-Statusantwort definiert Codes sind für Fehler oder Warnungen nicht spezifisch genug. HTTP/1.1 führte ein Warnungs-Header-Feld ein, um eine Beschreibung von Fehler- oder Warninformationen hinzuzufügen.

24 neue Statusantwortcodes wurden in HTTP/1.1 hinzugefügt. Beispielsweise zeigt 409 (Konflikt) an, dass die angeforderte Ressource mit dem aktuellen Status der Ressource in Konflikt steht; Server wird dauerhaft gelöscht.

3.HTTP-Kommunikationsprozess

(1) Fragen Sie DNS gemäß der URL ab, suchen Sie den Webserver und stellen Sie eine TCP-Verbindung her it (http-Unterschichtvereinbarung).

(2) Anschließend sendet der Webbrowser eine Anfrage an den Server.

Anforderungen umfassen im Allgemeinen: |. Anforderungstext-Beispiel:

GET /hello.jpg HTTP/1.1

Akzeptieren:image/gif.image/jpeg

Accept-Language:zh-cn

Verbindung:Keep-Alive

Host:127.0.0.1

User-Agent:Mozila/4.0(kompatibel;MSIE5.01;Windows NT5.0)

Accept-Encoding:gzip,deflate

(3) Antwort des Webservers. Das Antwortpaket enthält im Allgemeinen: |Beschreibung des Statuscodes der Protokollversion|Antwortheader|Antworttext

HTTP/1.1 200 OK

Server: Apache Tomcat/5.0 . 12

Datum:Mo,6. Okt. 2017 13:23:42 GMT

Inhaltslänge:188

4. http-Header-Feld

Dieser Teil des Inhalts ist zu detailliert und wird direkt in der Tabelle aufgeführt.

Anforderungsheader:

Header 解释 示例
Accept 指定客户端能够接收的内容类型 Accept: text/plain, text/html
Accept-Charset 浏览器可以接受的字符编码集。 Accept-Charset: iso-8859-5
Accept-Encoding 指定浏览器可以支持的web服务器返回内容压缩编码类型。 Accept-Encoding: compress, gzip
Accept-Language 浏览器可接受的语言 Accept-Language: en,zh
Accept-Ranges 可以请求网页实体的一个或者多个子范围字段 Accept-Ranges: bytes
Authorization HTTP授权的授权证书 Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Cache-Control 指定请求和响应遵循的缓存机制 Cache-Control: no-cache
Connection 表示是否需要持久连接。(HTTP 1.1默认进行持久连接) Connection: close
Cookie HTTP请求发送时,会把保存在该请求域名下的所有cookie值一起发送给web服务器。 Cookie: $Version=1; Skin=new;
Content-Length 请求的内容长度 Content-Length: 348
Content-Type 请求的与实体对应的MIME信息 Content-Type: application/x-www-form-urlencoded
Date 请求发送的日期和时间 Date: Tue, 15 Nov 2010 08:12:31 GMT
Expect 请求的特定的服务器行为 Expect: 100-continue
From 发出请求的用户的Email From: user@email.com
Host 指定请求的服务器的域名和端口号 Host: www.zcmhi.com
If-Match 只有请求内容与实体相匹配才有效 If-Match: “737060cd8c284d8af7ad3082f209582d”
If-Modified-Since 如果请求的部分在指定时间之后被修改则请求成功,未被修改则返回304代码 If-Modified-Since: Sat, 29 Oct 2010 19:43:31 GMT
If-None-Match 如果内容未改变返回304代码,参数为服务器先前发送的Etag,与服务器回应的Etag比较判断是否改变 If-None-Match: “737060cd8c284d8af7ad3082f209582d”
If-Range 如果实体未改变,服务器发送客户端丢失的部分,否则发送整个实体。参数也为Etag If-Range: “737060cd8c284d8af7ad3082f209582d”
If-Unmodified-Since 只在实体在指定时间之后未被修改才请求成功 If-Unmodified-Since: Sat, 29 Oct 2010 19:43:31 GMT
Max-Forwards 限制信息通过代理和网关传送的时间 Max-Forwards: 10
Pragma 用来包含实现特定的指令 Pragma: no-cache
Proxy-Authorization 连接到代理的授权证书 Proxy-Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Range 只请求实体的一部分,指定范围 Range: bytes=500-999
Referer 先前网页的地址,当前请求网页紧随其后,即来路 Referer: http://www.zcmhi.com/archives/71.html
TE 客户端愿意接受的传输编码,并通知服务器接受接受尾加头信息 TE: trailers,deflate;q=0.5
Upgrade 向服务器指定某种传输协议以便服务器进行转换(如果支持) Upgrade: HTTP/2.0, SHTTP/1.3, IRC/6.9, RTA/x11
User-Agent User-Agent的内容包含发出请求的用户信息 User-Agent: Mozilla/5.0 (Linux; X11)
Via 通知中间网关或代理服务器地址,通信协议 Via: 1.0 fred, 1.1 nowhere.com (Apache/1.1)
Warning 关于消息实体的警告信息 Warn: 199 Miscellaneous warning


Antwortheader:

Content-Range tr>Server: Apache/1.3.27 (Unix) (Red-Hat/Linux)Transfer-Encoding:chunkedVary: * tr>
Header Erläuterung Example
Accept-Ranges Gibt an, ob der Server die angegebene Bereichsanforderung unterstützt und welchen Typ Fragmentierte Anfrage Accept-Ranges: Bytes
Alter Geschätzte Zeit in Sekunden vom Ursprungsserver bis zur Proxy-Cache-Bildung. Anzahl, nicht -negativ) Alter: 12
Zulassen Ein gültiges Anforderungsverhalten für eine bestimmte Netzwerkressource, wenn dies nicht zulässig ist Rückgabe 405 Erlauben: GET, HEAD
Cache-Control Teilen Sie allen Caching-Mechanismen mit, ob sie zwischengespeichert werden können und welchen Typ sie haben Cache-Control: no-cache
Content-Encoding Der zurückgegebene Codierungstyp für die Inhaltskomprimierung, der vom Webserver unterstützt wird. Content-Encoding: gzip
Content-Language Die Sprache des Antworttextes Content -Sprache: en,zh
Content-Length Die Länge des Antworttextes Content-Length: 348 td> tr>
Content-Location Anfordern einer alternativen alternativen Adresse für die Ressource Content-Location: /index.htm
Content-MD5 Gibt den MD5-Prüfwert der Ressource zurück Content-MD5: Q2hlY2sgSW50ZWdyaXR5IQ==
Die Byte-Position dieses Teils im gesamten Rückgabetext Content-Range: Bytes 21010-47021/47022
Content-Type Gibt den MIME-Typ des Inhalts zurück Content-Type: text/html charset=utf-8
Datum Die Uhrzeit, zu der die ursprüngliche Servernachricht gesendet wurde Datum: Di, 15. November 2010 08:12:31 GMT
ETag Der aktuelle Wert des Entity-Tags der Anfragevariablen ETag: „737060cd8c284d8af7ad3082f209582d“
Läuft ab Ablaufdatum und -uhrzeit der Antwort Läuft ab: Do, 01. Dez. 2010 16:00:00 GMT
Letzte Änderung Die letzte Änderungszeit der angeforderten Ressource Letzte Änderung: Di, 15. November 2010 12:45:26 GMT
Standort Wird verwendet, um den Empfänger zum Standort der nicht angeforderten URL umzuleiten, um die Anfrage abzuschließen oder eine neue Ressource zu identifizieren Standort: http://www .zcmhi.com/archives/94.html
Pragma Enthält umsetzungsspezifische Anweisungen, die auf jeden Empfänger in der Antwortkette angewendet werden können td> Pragma: no-cache
Proxy-Authenticate Es gibt das Authentifizierungsschema und die Parameter auf dieser URL an, die auf die angewendet werden können Proxy Proxy-Authenticate: Basic
refresh Auf Umleitung anwenden oder eine neue Ressource erstellt wird, Umleitung nach 5 Sekunden ( vorgeschlagen von Netscape, unterstützt von den meisten Browsern)
Header 解释 示例
Accept-Ranges 表明服务器是否支持指定范围请求及哪种类型的分段请求 Accept-Ranges: bytes
Age 从原始服务器到代理缓存形成的估算时间(以秒计,非负) Age: 12
Allow 对某网络资源的有效的请求行为,不允许则返回405 Allow: GET, HEAD
Cache-Control 告诉所有的缓存机制是否可以缓存及哪种类型 Cache-Control: no-cache
Content-Encoding web服务器支持的返回内容压缩编码类型。 Content-Encoding: gzip
Content-Language 响应体的语言 Content-Language: en,zh
Content-Length 响应体的长度 Content-Length: 348
Content-Location 请求资源可替代的备用的另一地址 Content-Location: /index.htm
Content-MD5 返回资源的MD5校验值 Content-MD5: Q2hlY2sgSW50ZWdyaXR5IQ==
Content-Range 在整个返回体中本部分的字节位置 Content-Range: bytes 21010-47021/47022
Content-Type 返回内容的MIME类型 Content-Type: text/html; charset=utf-8
Date 原始服务器消息发出的时间 Date: Tue, 15 Nov 2010 08:12:31 GMT
ETag 请求变量的实体标签的当前值 ETag: “737060cd8c284d8af7ad3082f209582d”
Expires 响应过期的日期和时间 Expires: Thu, 01 Dec 2010 16:00:00 GMT
Last-Modified 请求资源的最后修改时间 Last-Modified: Tue, 15 Nov 2010 12:45:26 GMT
Location 用来重定向接收方到非请求URL的位置来完成请求或标识新的资源 Location: http://www.zcmhi.com/archives/94.html
Pragma 包括实现特定的指令,它可应用到响应链上的任何接收方 Pragma: no-cache
Proxy-Authenticate 它指出认证方案和可应用到代理的该URL上的参数 Proxy-Authenticate: Basic
refresh 应用于重定向或一个新的资源被创造,在5秒之后重定向(由网景提出,被大部分浏览器支持)

 

 

Refresh: 5; url=

http://www.zcmhi.com/archives/94.html

Retry-After 如果实体暂时不可取,通知客户端在指定时间之后再次尝试 Retry-After: 120
Server web服务器软件名称 Server: Apache/1.3.27 (Unix) (Red-Hat/Linux)
Set-Cookie 设置Http Cookie Set-Cookie: UserID=JohnDoe; Max-Age=3600; Version=1
Trailer 指出头域在分块传输编码的尾部存在 Trailer: Max-Forwards
Transfer-Encoding 文件传输编码 Transfer-Encoding:chunked
Vary 告诉下游代理是使用缓存响应还是从原始服务器请求 Vary: *
Via 告知代理客户端响应是通过哪里发送的 Via: 1.0 fred, 1.1 nowhere.com (Apache/1.1)
Warning 警告实体可能存在的问题 Warning: 199 Miscellaneous warning
WWW-Authenticate 表明客户端请求实体应该使用的授权方案 WWW-Authenticate: Basic

Refresh: 5; url=http: //www.zcmhi.com/archives /94.html

Retry-After Wenn die Entität vorübergehend nicht verfügbar ist, benachrichtigen Sie den Client um es nach der angegebenen Zeit erneut zu versuchen Retry-After: 120
Server Name der Webserver-Software
Set-Cookie Http-Cookie setzen Set-Cookie: UserID=JohnDoe; Max-Age=3600; Version=1
Trailer Gibt an, dass das Header-Feld vorhanden ist Ende der Chunked-Transfer-Kodierung Trailer: Max-Forwards
Transfer-Encoding File Transfer Encoding
Vary Teilt dem Downstream-Proxy mit, ob eine zwischengespeicherte Antwort oder Anfrage vom Ursprungsserver verwendet werden soll
Via Informiert den Proxy, wohin die Client-Antwort gesendet wird Via: 1.0 fred, 1.1 nirgendwo .com (Apache/1.1)
Warnung Warnung vor möglichen Problemen mit Entitäten Warnung: 199 Sonstige Warnung
WWW-Authenticate Gibt das Autorisierungsschema an, das die vom Client anfordernde Entität verwenden soll WWW-Authenticate: Basic

5. HTTP-Anfragemethode

GET-Anfrage zum Abrufen der durch Request-URI identifizierten Ressource
POST in der durch Request identifizierten Ressource -URI Neue Daten nach der Ressource anhängen
HEAD Anforderung zum Abrufen des Antwortnachrichtenheaders der durch Request-URI identifizierten Ressource
PUT Anforderung an den Server, eine Ressource zu speichern und Request-URI als Identifikator zu verwenden
DELETE Fordern Sie den Server zum Löschen auf. Request – Die durch den URI identifizierte Ressource.
TRACE Fordert den Server auf, die empfangenen Anforderungsinformationen zurückzusenden, die hauptsächlich für Tests oder Diagnosen verwendet werden.
CONNECT Für zukünftige Verwendung reserviert.
OPTIONS. Anfrage zur Abfrage der Leistung des Servers oder Abfrageoptionen und Anforderungen im Zusammenhang mit der Ressource

6 Statuscode

Antwort Die erste Zeile in Die Nachricht wird als Statuszeile bezeichnet und besteht aus der Versionsnummer des HTTP-Protokolls und dem Statuscode. Die Statusnachricht besteht aus drei Teilen.

Der Statuscode wird verwendet, um dem HTTP-Client mitzuteilen, ob der HTTP-Server die erwartete Antwort generiert hat.

HTTP/1.1 definiert 5 Arten von Statuscodes. Der Statuscode besteht aus drei Ziffern. Eine Zahl definiert die Kategorie der Antwort

1XX-Eingabeaufforderungsnachricht – zeigt an, dass die Anfrage erfolgreich empfangen wurde und weiterhin verarbeitet wird, was darauf hinweist, dass weiterhin Daten empfangen werden müssen, um die Anfrage abzuschließen.

2XX Erfolgreich – Zeigt an, dass die Anfrage erfolgreich empfangen, verstanden und akzeptiert wurde

3XX Weiterleitung – Zur Vervollständigung der Anfrage muss eine weitere Verarbeitung durchgeführt werden

4XX Clientfehler – Anfrage Es liegt ein Syntaxfehler vor oder die Anfrage kann nicht implementiert werden

5XX Serverseitiger Fehler – Der Server konnte eine rechtliche Anfrage nicht implementieren

Statuscodeliste

Tabelle 1 ( Kurze Einführungstabelle, Einführung Es wird empfohlen, zuerst diese Tabelle zu lesen. Wenn Sie sie nicht verstehen, lesen Sie die Tabelle unten 2)

Dauerhaft verschobenDauerhaft verschoben. Die angeforderte Ressource wurde dauerhaft auf den neuen URI verschoben, die Rückgabeinformationen enthalten den neuen URI und der Browser wird automatisch auf den neuen URI umgeleitet. Alle neuen Anfragen in der Zukunft sollten den neuen URI anstelle von 302GefundenVorübergehend verschoben verwenden. Ähnlich wie 301. Die Ressource wird jedoch nur vorübergehend verschoben. Der Client sollte weiterhin den ursprünglichen URI303Andere anzeigen verwenden, um andere Adressen anzuzeigen. Ähnlich wie 301. Verwenden Sie GET- und POST-Anfragen, um 304Nicht geändertUnverändert anzuzeigen. Die angeforderte Ressource wurde nicht geändert. Wenn der Server diesen Statuscode zurückgibt, wird keine Ressource zurückgegeben. Clients speichern normalerweise Ressourcen, auf die zugegriffen wird, im Cache, indem sie einen Header bereitstellen, der angibt, dass der Client nur Ressourcen zurückgeben möchte, die nach einem bestimmten Datum geändert wurden 305Proxy verwenden Verwenden Sie einen Proxy. Auf die angeforderte Ressource muss über einen Proxy zugegriffen werden306Nicht verwendetEin veralteter HTTP-Statuscode307Temporäre WeiterleitungTemporäre Weiterleitung. Ähnlich wie 302. Verwenden Sie die GET-Anfrageumleitung Statuscode beginnend mit 4400Bad RequestCustomer The Syntaxfehler in der Endanfrage, der Server kann 401Nicht autorisiertDie Anfrage erfordert eine Benutzerauthentifizierung402403404405406407408409410411Länge erforderlichDer Server kann die Anforderungsinformationen nicht ohne vom Client gesendete Inhaltslänge verarbeiten412Vorbedingung fehlgeschlagenClient-Anforderungsinformationsvoraussetzungsfehler 413Entität zu groß anfordernAngefordert, weil die Entität zu groß ist und der Server dies nicht kann Behandeln Sie es, also wird es abgelehnt. Um weitere Anfragen vom Client zu verhindern, kann der Server die Verbindung schließen.Wenn der Server es vorübergehend nicht verarbeiten kann, enthält er eine Retry-After-Antwortnachricht
Statuscode Statuscode Englischer Name Chinesische Beschreibung
Statuscodes beginnend mit 1
100 Weiter weiter. Der Client sollte seine Anfrage
101 Switching Protocols Switching Protocols fortsetzen. Der Server wechselt die Protokolle basierend auf der Anfrage des Clients. Sie können nur zu einem fortgeschritteneren Protokoll wechseln, zum Beispiel zu einer neuen Version des HTTP-Protokolls
Statuscode beginnend mit 2
200 OK Die Anfrage war erfolgreich. Wird im Allgemeinen für GET- und POST-Anfragen verwendet.
201 Erstellt wurde erstellt. Erfolgreich angefordert und eine neue Ressource erstellt
202 Akzeptiert Akzeptiert. Die Anfrage wurde angenommen, aber nicht bearbeitet
203 Nicht verbindliche Informationen Nicht autorisierte Informationen. Die Anfrage war erfolgreich. Die zurückgegebenen Metainformationen befinden sich jedoch nicht auf dem Originalserver, sondern in einer Kopie
204 Kein Inhalt Kein Inhalt. Der Server hat die Verarbeitung erfolgreich durchgeführt, es wurde jedoch kein Inhalt zurückgegeben. Stellt sicher, dass der Browser weiterhin das aktuelle Dokument anzeigt, ohne die Webseite zu aktualisieren
205 Inhalt zurücksetzen Inhalt zurücksetzen. Die Serververarbeitung ist erfolgreich und das Benutzerterminal (z. B. Browser) sollte die Dokumentansicht zurücksetzen. Mit diesem Rückgabecode kann das Formularfeld des Browsers
206 Teilinhalt gelöscht werden. Der Server hat einige GET-Anfragen erfolgreich verarbeitet
Statuscode beginnend mit 3
300 Multiple Choices Mehrere Auswahlmöglichkeiten. Die angeforderte Ressource kann mehrere Standorte umfassen, und dementsprechend kann eine Liste von Ressourcenmerkmalen und -adressen zurückgegeben werden, damit das Benutzerterminal (z. B. Browser)
301
Zahlung erforderlich Reserviert für zukünftige Verwendung
Verboten Server verstanden Die Anfrage des Clients wird angefordert, die Ausführung der Anfrage wird jedoch verweigert
Nicht gefunden Der Server kann die Ressource (Webseite) nicht finden ) basierend auf der Anfrage des Kunden. Mit diesem Code können Website-Designer eine personalisierte Seite für „Die von Ihnen angeforderte Ressource kann nicht gefunden werden“
Methode nicht zulässig einrichten Kunde Die Methode in der Client-Anfrage ist verboten
Nicht akzeptabel Der Server kann die Anfrage aufgrund der Inhaltsmerkmale des Clients nicht abschließen Anfrage
Proxy-Authentifizierung erforderlich Die Anfrage erfordert eine Proxy-Authentifizierung, ähnlich wie 401, aber der Anforderer sollte den Proxy zur Autorisierung verwenden
Anfrage-Timeout Der Server hat zu lange auf die vom Client gesendete Anfrage gewartet und es kam zu einer Zeitüberschreitung
Konflikt Der Server gibt diesen Code möglicherweise zurück, wenn die PUT-Anfrage des Clients abgeschlossen wird. Es ist ein Konflikt aufgetreten, als der Server die Anfrage verarbeitet hat
Gegangen Die vom Client angeforderte Ressource existiert nicht mehr. 410 unterscheidet sich von 404. Wenn die Ressource dauerhaft gelöscht wurde, kann der 410-Code verwendet werden. Der Website-Designer kann den neuen Speicherort der Ressource über den 301-Code
414 Request-URI Too Large Requested URI Too lang (URI ist normalerweise eine URL), kann der Server
415 Nicht unterstützter Medientyp Der Server kann das angehängte Medienformat nicht verarbeiten die Anfrage
416 Angeforderter Bereich nicht erfüllbar Der vom Kunden angeforderte Bereich ist ungültig
417 Expectation fehlgeschlagen Der Server kann die Expect-Anforderungsheaderinformationen nicht erfüllen
Statuscode beginnt mit 5
500 Interner Serverfehler Serverinterner Fehler, die Anfrage konnte nicht abgeschlossen werden
501 Nicht implementiert Der Server unterstützt es nicht. Die angeforderte Funktion konnte die Anfrage nicht abschließen.
502 Bad Gateway Ein Server handelt als Gateway oder Proxy einen ungültigen Wert vom Remote-Server erhalten hat
503 Dienst nicht verfügbar Aufgrund von Überlastung oder Systemwartung Der Server ist vorübergehend nicht in der Lage, die Anfrage des Clients zu verarbeiten. Die Länge der Verzögerung kann in den Retry-After-Header-Informationen des Servers enthalten sein
504 Gateway-Timeout Server, der als Gateway fungiert oder Proxy, die Anfrage wurde nicht rechtzeitig vom Remote-Server erhalten
505 HTTP-Version nicht unterstützt Der Server unterstützt die angeforderte Version nicht HTTP-Protokollversion und kann nicht abgeschlossen werden

Tabelle 2 Detaillierte Einführungstabelle

Statuscode Bedeutung
100 Der Kunde sollte fortfahren Senden Sie eine Anfrage. Diese vorläufige Antwort wird verwendet, um den Client darüber zu informieren, dass ein Teil seiner Anfrage vom Server empfangen und noch nicht abgelehnt wurde. Der Client SOLLTE den Rest der Anfrage weiter senden oder diese Antwort ignorieren, wenn die Anfrage bereits abgeschlossen wurde. Der Server muss nach Abschluss der Anfrage eine endgültige Antwort an den Client senden.
101 Der Server hat die Anfrage des Clients verstanden und benachrichtigt den Client über den Upgrade-Nachrichtenheader, ein anderes Protokoll zum Abschließen der Anfrage zu verwenden. Nach dem Senden der letzten Leerzeile dieser Antwort wechselt der Server zu den im Upgrade-Header definierten Protokollen. Ähnliche Maßnahmen sollten nur dann ergriffen werden, wenn die Umstellung auf ein neues Protokoll vorteilhafter wäre. Beispielsweise bietet der Wechsel zu einer neuen HTTP-Version Vorteile gegenüber einer älteren Version oder der Wechsel zu einem Echtzeit- und synchronen Protokoll für die Bereitstellung von Ressourcen, die solche Funktionen nutzen.
102 Ein durch WebDAV (RFC 2518) erweiterter Statuscode, der angibt, dass die Verarbeitung fortgesetzt wird.
200 Die Anfrage war erfolgreich und der von der Anfrage erwartete Antwortheader oder Datenkörper wird mit dieser Antwort zurückgegeben.
201 Die Anfrage wurde implementiert und eine neue Ressource wurde basierend auf den Anforderungen der Anfrage erstellt und ihr URI wurde mit den Location-Header-Informationen zurückgegeben. Wenn die erforderlichen Ressourcen nicht rechtzeitig erstellt werden können, sollte „202 Akzeptiert“ zurückgegeben werden.
202 Der Server hat die Anfrage angenommen, aber noch nicht verarbeitet. Ebenso wie der Antrag abgelehnt werden kann, kann es sein, dass der Antrag letztendlich ausgeführt wird oder auch nicht. Bei asynchronen Vorgängen gibt es keinen bequemeren Weg, als diesen Statuscode zu senden. Der Zweck der Rückgabe einer 202-Statuscode-Antwort besteht darin, dem Server zu ermöglichen, Anforderungen von anderen Prozessen (z. B. einem Batch-basierten Vorgang, der nur einmal am Tag ausgeführt wird) anzunehmen, ohne dass der Client bis zum Batch-Vorgang mit dem Server verbunden bleiben muss ist abgeschlossen. Eine Antwort, die die Anforderungsverarbeitung akzeptiert und einen 202-Statuscode zurückgibt, sollte in der zurückgegebenen Entität einige Informationen enthalten, die den aktuellen Status der Verarbeitung angeben, sowie einen Zeiger auf einen Verarbeitungsstatusmonitor oder eine Statusvorhersage, damit der Benutzer abschätzen kann, ob der Vorgang ausgeführt wird ist abgeschlossen.
203 Der Server hat die Anfrage erfolgreich verarbeitet, aber die zurückgegebenen Entitätsheader-Metainformationen sind kein bestimmter Satz, der auf dem ursprünglichen Server gültig ist, sondern von stammen lokal oder von Dritten kopiert. Die aktuellen Informationen können eine Teilmenge oder eine Obermenge der Originalversion sein. Wenn beispielsweise Metadaten für eine Ressource enthalten sind, kann dies dazu führen, dass der Ursprungsserver die übergeordneten Informationen zu den Metadaten kennt. Die Verwendung dieses Statuscodes ist nicht erforderlich und nur dann sinnvoll, wenn die Antwort ohne diesen Statuscode 200 OK zurückgegeben hätte.
204 Der Server hat die Anfrage erfolgreich verarbeitet, muss aber keinen Entitätsinhalt zurückgeben und möchte aktualisierte Metainformationen zurückgeben. Die Antwort kann neue oder aktualisierte Metainformationen in Form von Entitätsheadern zurückgeben. Diese Header sollten, sofern vorhanden, den angeforderten Variablen entsprechen. Wenn der Client ein Browser ist, SOLLTE der Browser des Benutzers die Seite, für die die Anforderung gestellt wurde, ohne Änderungen an der Dokumentansicht beibehalten, selbst wenn neue oder aktualisierte Metainformationen gemäß der Spezifikation „Dokumente in Ansicht“ auf die Browseraktivität des Benutzers angewendet werden sollen. Da eine 204-Antwort keinen Nachrichtentext enthalten darf, endet sie immer mit der ersten Leerzeile nach dem Nachrichtenkopf.
205 Der Server hat die Anfrage erfolgreich verarbeitet und nichts zurückgegeben. Im Gegensatz zu einer 204-Antwort erfordert eine Antwort, die diesen Statuscode zurückgibt, jedoch, dass der Anforderer die Dokumentansicht zurücksetzt. Diese Antwort wird hauptsächlich verwendet, um das Formular unmittelbar nach der Annahme einer Benutzereingabe zurückzusetzen, damit der Benutzer problemlos eine andere Eingabe starten kann. Wie die 204-Antwort darf diese Antwort keinen Nachrichtentext enthalten und endet mit der ersten Leerzeile nach dem Nachrichtenkopf.
206 Der Server hat einen Teil der GET-Anfrage erfolgreich verarbeitet. HTTP-Download-Tools wie FlashGet oder Thunder verwenden diese Art von Reaktion, um unterbrochene Downloads fortzusetzen oder ein großes Dokument in mehrere Download-Segmente aufzuteilen, um es gleichzeitig herunterzuladen. Die Anfrage muss einen Range-Header enthalten, um den Inhaltsbereich anzugeben, den der Client erhalten möchte, und kann einen If-Range als Anfragebedingung enthalten. Die Antwort muss die folgenden Header-Felder enthalten: Content-Range wird verwendet, um den Bereich des in dieser Antwort zurückgegebenen Inhalts anzugeben, wenn es sich um einen mehrteiligen Download mit Content-Type Multipart/Byteranges handelt, jeweils mehrteilig Jeder Absatz sollte ein Content-Range-Feld enthalten, um den Inhaltsbereich dieses Absatzes anzugeben. Wenn eine Content-Length in der Antwort enthalten ist, muss ihr Wert mit der tatsächlichen Anzahl von Bytes im zurückgegebenen Inhaltsbereich übereinstimmen. Datums-ETag und/oder Content-Location, wenn dieselbe Anfrage eine 200-Antwort hätte zurückgeben sollen. Läuft ab, Cache-Kontrolle und/oder variiert, wenn sich sein Wert möglicherweise von dem Wert unterscheidet, der anderen vorherigen Antworten auf dieselbe Variable entspricht.Wenn diese Antwortanforderung die starke Cache-Überprüfung von If-Range verwendet, sollte diese Antwort keine anderen Entitätsheader enthalten, wenn diese Antwortanforderung verwendet wird Wenn die Cache-Validierung schwach ist, darf diese Antwort keine anderen Entitätsheader enthalten. Dadurch werden Inkonsistenzen zwischen zwischengespeicherten Entitätsinhalten und aktualisierten Entitätsheaderinformationen vermieden. Andernfalls sollte diese Antwort alle Entitätsheaderfelder enthalten, die in einer 200-Antwort zurückgegeben werden sollen. Wenn die ETag- oder Last-Modified-Header nicht genau übereinstimmen, sollte der Client-Cache den von der 206-Antwort zurückgegebenen Inhalt nicht mit zuvor zwischengespeicherten Inhalten kombinieren. Jeder Cache, der die Header „Range“ und „Content-Range“ nicht unterstützt, darf den von der 206-Antwort zurückgegebenen Inhalt nicht zwischenspeichern.
207 Ein durch WebDAV (RFC 2518) erweiterter Statuscode, der angibt, dass der nachfolgende Nachrichtentext eine XML-Nachricht sein wird und je nach Anzahl variieren kann vorherige Unteranfragen, die eine Reihe unabhängiger Antwortcodes enthalten.
300 Die angeforderte Ressource verfügt über eine Reihe optionaler Antworten, jede mit ihrer eigenen spezifischen Adresse und Informationen zur Browsertreiberaushandlung. Der Benutzer oder Browser kann eine bevorzugte Adresse für die Weiterleitung auswählen. Sofern es sich nicht um eine HEAD-Anfrage handelt, sollte die Antwort eine Entität mit einer Liste von Ressourcenattributen und Adressen enthalten, aus der der Benutzer oder Browser die am besten geeignete Weiterleitungsadresse auswählen kann. Das Format dieser Entität wird durch das durch Content-Type definierte Format bestimmt. Der Browser trifft möglicherweise automatisch die am besten geeignete Wahl, basierend auf dem Format der Antwort und den Fähigkeiten des Browsers. Natürlich gibt die RFC 2616-Spezifikation nicht an, wie eine solche automatische Auswahl durchgeführt werden soll. Wenn der Server selbst bereits über eine bevorzugte Feedback-Option verfügt, dann in Der Standort sollte den URI dieser Rückmeldung angeben; der Browser kann diesen Standortwert als Adresse für die automatische Umleitung verwenden. Darüber hinaus ist diese Antwort zwischenspeicherbar, sofern nicht anders angegeben.
301 Die angeforderte Ressource wurde dauerhaft an einen neuen Speicherort verschoben und alle zukünftigen Verweise auf diese Ressource sollten einen von mehreren URIs verwenden, die mit dieser Antwort zurückgegeben werden. Wenn möglich, sollten Clients mit Linkbearbeitungsfunktionen die angeforderte Adresse automatisch in die vom Server zurückgegebene Adresse ändern. Sofern nicht anders angegeben, ist diese Antwort auch zwischenspeicherbar. Der neue persistente URI sollte im Feld „Location“ der Antwort zurückgegeben werden. Sofern es sich nicht um eine HEAD-Anfrage handelt, sollte die Antwortentität einen Hyperlink zum neuen URI und eine kurze Beschreibung enthalten. Wenn es sich nicht um eine GET- oder HEAD-Anfrage handelt, verhindert der Browser die automatische Umleitung, sofern dies nicht vom Benutzer bestätigt wird, da sich die Bedingungen der Anfrage entsprechend ändern können. Hinweis: Bei einigen Browsern, die das HTTP/1.0-Protokoll verwenden, wird die nachfolgende Umleitungsanforderung zu einer GET-Methode, wenn die von ihnen gesendete POST-Anfrage eine 301-Antwort erhält.
302 Die angeforderte Ressource reagiert jetzt vorübergehend auf Anfragen von einem anderen URI. Da solche Weiterleitungen temporär sind, sollte der Client künftige Anfragen weiterhin an die ursprüngliche Adresse senden. Diese Antwort kann nur zwischengespeichert werden, wenn sie in „Cache-Control“ oder „Expires“ angegeben wird. Der neue temporäre URI sollte im Feld „Standort“ der Antwort zurückgegeben werden. Sofern es sich nicht um eine HEAD-Anfrage handelt, sollte die Antwortentität einen Hyperlink zum neuen URI und eine kurze Beschreibung enthalten. Wenn es sich nicht um eine GET- oder HEAD-Anfrage handelt, verhindert der Browser die automatische Umleitung, sofern dies nicht vom Benutzer bestätigt wird, da sich die Bedingungen der Anfrage entsprechend ändern können. Hinweis: Obwohl RFC Die Spezifikationen 1945 und RFC 2068 erlauben es dem Client nicht, die Anforderungsmethode bei der Umleitung zu ändern, aber viele bestehende Browser betrachten die 302-Antwort als 303-Antwort und verwenden die GET-Methode, um auf den im Standort angegebenen URI zuzugreifen, unabhängig vom Original Anfragemethode. Die Statuscodes 303 und 307 wurden hinzugefügt, um zu verdeutlichen, welche Antwort der Server vom Client erwartet.
303 Die Antwort, die der aktuellen Anfrage entspricht, kann unter einem anderen URI gefunden werden, und der Client sollte GET verwenden, um auf diese Ressource zuzugreifen. Diese Methode dient in erster Linie dazu, die Umleitung der skriptaktivierten POST-Anforderungsausgabe an eine neue Ressource zu ermöglichen. Dieser neue URI ist kein Ersatzverweis auf die ursprüngliche Ressource. Gleichzeitig ist es verboten, 303-Antworten zwischenzuspeichern. Natürlich könnte die zweite Anfrage (Umleitung) zwischengespeichert werden. Der neue URI sollte im Feld „Location“ der Antwort zurückgegeben werden. Sofern es sich nicht um eine HEAD-Anfrage handelt, sollte die Antwortentität einen Hyperlink zum neuen URI und eine kurze Beschreibung enthalten. HINWEIS: Viele Browser vor HTTP/1.1 verstehen den 303-Status nicht richtig. Wenn Sie die Interaktion mit diesen Browsern in Betracht ziehen müssen, sollte der Statuscode 302 ausreichen, da die meisten Browser 302-Antworten genau so verarbeiten, wie die obige Spezifikation vom Client verlangt, 303-Antworten zu verarbeiten.
304 Wenn der Client eine bedingte GET-Anfrage sendet und die Anfrage zulässig ist, und der Inhalt des Dokuments (entweder seit dem letzten Zugriff oder basierend auf der Anfrage Wenn sich die Bedingung nicht geändert hat, sollte der Server diesen Statuscode zurückgeben. Eine 304-Antwort darf keinen Nachrichtentext enthalten und endet daher immer mit der ersten Leerzeile nach dem Nachrichtenkopf.Die Antwort MUSS die folgenden Header-Informationen enthalten: Datum, es sei denn, der Server verfügt nicht über eine Uhr. Wenn Server ohne Uhren diese Regeln befolgen, können Proxyserver und Clients das Datumsfeld selbst zu den empfangenen Antwortheadern hinzufügen (wie in RFC 2068 angegeben), und der Caching-Mechanismus funktioniert normal. ETag und/oder Content-Location, wenn dieselbe Anfrage eine 200-Antwort hätte zurückgeben sollen. Läuft ab, Cache-Kontrolle und/oder variiert, wenn sich sein Wert möglicherweise von dem Wert unterscheidet, der anderen vorherigen Antworten auf dieselbe Variable entspricht. Wenn diese Antwortanforderung eine starke Cache-Überprüfung verwendet, sollte diese Antwort keine anderen Entitätsheader enthalten (z. B. verwendet eine bedingte GET-Anfrage eine schwache Cache-Überprüfung). Dies vermeidet Inkonsistenzen zwischen den zwischengespeicherten Entitätsinhalt und aktualisierte Entitätsheaderinformationen. Wenn eine 304-Antwort darauf hinweist, dass eine Entität derzeit nicht zwischengespeichert ist, muss das Caching-System die Antwort ignorieren und die Anfrage ohne Einschränkung wiederholen. Wenn eine 304-Antwort empfangen wird, die eine Aktualisierung eines Cache-Eintrags erfordert, muss das Cache-System den gesamten Eintrag aktualisieren, um die Werte aller Felder widerzuspiegeln, die in der Antwort aktualisiert wurden.
305 Auf die angeforderte Ressource muss über den angegebenen Proxy zugegriffen werden. Die URI-Informationen des angegebenen Proxys werden im Feld Standort angegeben. Der Empfänger muss wiederholt eine separate Anfrage senden, um über diesen Proxy auf die entsprechende Ressource zuzugreifen. Nur der Ursprungsserver kann eine 305-Antwort erstellen. Hinweis: RFC 2068 legt nicht fest, dass eine 305-Antwort dazu gedacht ist, eine einzelne Anfrage umzuleiten, und dass sie nur vom Ursprungsserver erstellt werden kann. Die Nichtbeachtung dieser Einschränkungen kann schwerwiegende Folgen für die Sicherheit haben.
306 In der neuesten Version der Spezifikation wird der Statuscode 306 nicht mehr verwendet.
307 Die angeforderte Ressource reagiert jetzt vorübergehend auf Anfragen von einem anderen URI. Da solche Weiterleitungen temporär sind, sollte der Client künftige Anfragen weiterhin an die ursprüngliche Adresse senden. Diese Antwort kann nur zwischengespeichert werden, wenn sie in „Cache-Control“ oder „Expires“ angegeben wird. Der neue temporäre URI sollte im Feld „Standort“ der Antwort zurückgegeben werden. Sofern es sich nicht um eine HEAD-Anfrage handelt, sollte die Antwortentität einen Hyperlink zum neuen URI und eine kurze Beschreibung enthalten. Da einige Browser die 307-Antwort nicht erkennen, müssen die oben genannten notwendigen Informationen hinzugefügt werden, damit Benutzer den neuen URI verstehen und Zugriffsanfragen an ihn stellen können. Wenn dies kein GET oder HEAD ist Bei einer Anfrage verbietet der Browser die automatische Weiterleitung, es sei denn, der Benutzer bestätigt dies, da sich die Bedingungen der Anfrage entsprechend ändern können.
400 1. Die Semantik ist falsch und die aktuelle Anfrage kann vom Server nicht verstanden werden. Der Client sollte diese Anfrage nicht erneut senden, es sei denn, sie wurde geändert. 2. Die Anforderungsparameter sind falsch.
401 Die aktuelle Anfrage erfordert eine Benutzerverifizierung. Die Antwort MUSS einen für die angeforderte Ressource geeigneten WWW-Authenticate-Header enthalten, der nach Benutzerinformationen fragt. Der Client kann wiederholt eine Anfrage senden, die den entsprechenden Autorisierungsheader enthält. Wenn die aktuelle Anfrage bereits Autorisierungszertifikate enthielt, weist die 401-Antwort darauf hin, dass die Serverüberprüfung diese Zertifikate abgelehnt hat. Wenn die 401-Antwort dieselbe Authentifizierungsabfrage wie die vorherige Antwort enthält und der Browser mindestens einmal einen Authentifizierungsversuch unternommen hat, sollte der Browser dem Benutzer die in der Antwort enthaltenen Entitätsinformationen anzeigen, da diese Entitätsinformationen möglicherweise relevante Diagnoseinformationen enthalten. Siehe RFC 2617.
402 Dieser Statuscode ist für mögliche zukünftige Anforderungen reserviert.
403 Der Server hat die Anfrage verstanden, sich jedoch geweigert, sie auszuführen. Im Gegensatz zu einer 401-Antwort bietet die Authentifizierung keine Hilfe und die Anfrage sollte nicht erneut gesendet werden. Wenn es sich nicht um eine HEAD-Anfrage handelt und der Server erklären möchte, warum die Anfrage nicht ausgeführt werden kann, sollte der Grund für die Ablehnung in der Entität beschrieben werden. Natürlich kann der Server auch eine 404-Antwort zurückgeben, wenn er nicht möchte, dass der Client irgendwelche Informationen erhält.
404 Die Anfrage ist fehlgeschlagen. Die angeforderte Ressource wurde nicht auf dem Server gefunden. Es gibt keine Informationen darüber, ob der Zustand vorübergehend oder dauerhaft ist. Wenn der Server die Situation kennt, sollte er den Statuscode 410 verwenden, um ihn darüber zu informieren, dass die alte Ressource aufgrund einiger Probleme mit dem internen Konfigurationsmechanismus dauerhaft nicht verfügbar ist und keine Sprungadresse vorhanden ist. Der Statuscode 404 wird häufig verwendet, wenn der Server nicht preisgeben möchte, warum die Anfrage abgelehnt wurde oder keine andere geeignete Antwort verfügbar ist.
405 Die in der Anforderungszeile angegebene Anforderungsmethode kann nicht zum Anfordern der entsprechenden Ressource verwendet werden. Die Antwort muss eine Allow-Header-Information zurückgeben, um die Liste der Anforderungsmethoden anzugeben, die die aktuelle Ressource akzeptieren kann. Da die PUT- und DELETE-Methoden Ressourcen auf den Server schreiben, unterstützen die meisten Webserver die oben genannten Anforderungsmethoden in der Standardkonfiguration nicht oder erlauben sie nicht, und für solche Anforderungen wird ein 405-Fehler zurückgegeben.
406 Die Inhaltsmerkmale der angeforderten Ressource können die Bedingungen im Anforderungsheader nicht erfüllen, sodass die Antwortentität nicht generiert werden kann. Sofern es sich nicht um eine HEAD-Anfrage handelt, sollte die Antwort eine Entität zurückgeben, die eine Liste von Entitätsattributen und -adressen enthält, aus denen der Benutzer oder Browser die am besten geeigneten auswählen kann. Das Format der Entität wird durch den im Content-Type-Header definierten Medientyp bestimmt. Der Browser kann basierend auf dem Format und seinen Funktionen seine eigene beste Wahl treffen. Die Spezifikation definiert jedoch keine Kriterien für die Durchführung einer solchen automatischen Auswahl.
407 Ähnlich der 401-Antwort, außer dass sich der Client beim Proxyserver authentifizieren muss. Der Proxyserver muss für Identitätsabfragen ein Proxy-Authenticate zurückgeben. Der Client kann zur Überprüfung einen Proxy-Authorization-Header zurückgeben. Siehe RFC 2617.
408 Zeitüberschreitung anfordern. Der Client hat das Senden einer Anfrage nicht innerhalb der Zeit abgeschlossen, die der Server warten wollte. Der Kunde kann diesen Antrag jederzeit erneut stellen, ohne dass Änderungen erforderlich sind.
409 Die Anfrage kann aufgrund eines Konflikts mit dem aktuellen Status der angeforderten Ressource nicht abgeschlossen werden. Dieser Code sollte nur verwendet werden, wenn davon ausgegangen wird, dass der Benutzer den Konflikt lösen und eine neue Anfrage erneut einreichen kann. Die Antwort sollte genügend Informationen enthalten, damit der Benutzer die Ursache des Konflikts ermitteln kann. Bei der Verarbeitung von PUT-Anfragen kommt es in der Regel zu Konflikten. Wenn beispielsweise in einer Umgebung mit Versionsprüfung die Versionsinformationen, die an eine von einem PUT übermittelte Änderungsanforderung für eine bestimmte Ressource angehängt sind, mit einer vorherigen Anforderung (von einem Drittanbieter) in Konflikt stehen, sollte der Server zu diesem Zeitpunkt einen 409-Fehler zurückgeben. Informieren Sie den Benutzer darüber, dass die Anfrage nicht abgeschlossen werden kann. Zu diesem Zeitpunkt enthält die Antwortentität wahrscheinlich einen Differenzvergleich zwischen den beiden widersprüchlichen Versionen, sodass der Benutzer die neue Version nach dem Zusammenführen erneut einreichen kann.
410 Die angeforderte Ressource ist nicht mehr auf dem Server verfügbar und hat keine bekannte Weiterleitungsadresse. Eine solche Situation sollte als dauerhaft angesehen werden. Wenn möglich, sollten Clients mit Linkbearbeitungsfunktionen alle Verweise auf diese Adresse mit Zustimmung des Benutzers entfernen. Wenn der Server nicht weiß oder nicht feststellen kann, ob der Zustand dauerhaft ist, sollte der Statuscode 404 verwendet werden. Sofern nicht anders angegeben, ist diese Antwort zwischenspeicherbar. Der Zweck der 410-Antwort besteht hauptsächlich darin, Website-Administratoren bei der Wartung der Website zu helfen, Benutzer darüber zu informieren, dass die Ressource nicht mehr verfügbar ist, und der Serverbesitzer hofft, dass auch alle Remote-Verbindungen gelöscht werden, die auf diese Ressource verweisen. Diese Art von Vorfall kommt häufig bei zeitlich begrenzten Mehrwertdiensten vor. In ähnlicher Weise wird die 410-Antwort auch verwendet, um den Client darüber zu informieren, dass Ressourcen, die ursprünglich einer Person gehörten, auf dem aktuellen Serverstandort nicht mehr verfügbar sind. Müssen Sie natürlich alle dauerhaft nicht verfügbaren Ressourcen als „410“ markieren? „Vorbei“ und ob diese Markierung wie lange beibehalten werden muss, liegt ganz im Ermessen des Serverbesitzers.
411 Der Server weigerte sich, die Anfrage anzunehmen, ohne dass der Content-Length-Header definiert war. Nach dem Hinzufügen eines gültigen Content-Length-Headers, der die Länge des Anforderungsnachrichtentexts angibt, kann der Client die Anforderung erneut senden.
412 Der Server konnte eine oder mehrere der in den Headerfeldern der Anfrage angegebenen Voraussetzungen nicht erfüllen. Mit diesem Statuscode kann der Client beim Abrufen der Ressource Vorbedingungen in den Anforderungsmetainformationen (Anfrage-Header-Felddaten) festlegen und so verhindern, dass die Anforderungsmethode anders als erwartet auf die Ressource angewendet wird.
413 Der Server weigert sich, die aktuelle Anfrage zu verarbeiten, da die Größe der durch die Anfrage übermittelten Entitätsdaten den Bereich überschreitet, den der Server verarbeiten möchte oder kann . In diesem Fall kann der Server die Verbindung schließen, um zu verhindern, dass der Client diese Anfrage weiterhin sendet. Wenn die Situation vorübergehend ist, sollte der Server einen Retry-After-Antwortheader zurückgeben, um den Client darüber zu informieren, wie viel Zeit später er es erneut versuchen kann.
414 Der angeforderte URI ist länger, als der Server interpretieren kann, sodass der Server die Bearbeitung der Anfrage verweigert. Dies ist relativ selten und häufige Situationen sind: Die Formularübermittlung, die die POST-Methode hätte verwenden sollen, wird zur GET-Methode, was dazu führt, dass die Abfragezeichenfolge (Query String) zu lang ist. Der Umleitungs-URI ist beispielsweise ein „schwarzes Loch“. Bei jeder Umleitung wird der alte URI als Teil des neuen URI verwendet, was nach mehreren Umleitungen zu einem überlangen URI führt. Der Client versucht, die Sicherheitslücken einiger Server auszunutzen, um den Server anzugreifen. Dieser Servertyp verwendet einen Puffer fester Länge, um den angeforderten URI zu lesen oder zu betreiben. Wenn die Parameter nach GET einen bestimmten Wert überschreiten, kann es zu einem Pufferüberlauf kommen, der zur Ausführung beliebigen Codes führt [1]. Server ohne solche Schwachstellen sollten den Statuscode 414 zurückgeben.
415 Für die aktuell angeforderte Methode und angeforderte Ressource liegt die in der Anforderung übermittelte Entität nicht in einem vom Server unterstützten Format vor, sodass die Anforderung abgelehnt wird.
416 Wenn die Anfrage den Range-Anfrageheader enthält und ein im Bereich angegebener Datenbereich nicht mit dem verfügbaren Bereich der aktuellen Ressource übereinstimmt und die Anfrage enthält Wenn der If-Range-Anfrageheader nicht definiert ist, sollte der Server einen 416-Statuscode zurückgeben.Wenn Range einen Bytebereich verwendet, bedeutet diese Situation, dass die erste Byteposition aller in der Anforderung angegebenen Datenbereiche die Länge der aktuellen Ressource überschreitet. Der Server sollte außerdem einen Content-Range-Entitätsheader enthalten, um die Länge der aktuellen Ressource anzugeben und gleichzeitig den Statuscode 416 zurückzugeben. Es ist dieser Antwort auch untersagt, multipart/byteranges als Inhaltstyp zu verwenden.
417 Der im Anforderungsheader Expect angegebene erwartete Inhalt kann vom Server nicht erfüllt werden, oder der Server ist ein Proxyserver und es liegen offensichtliche Beweise dafür vor Wird in der aktuellen Route nicht verwendet. Der Inhalt von Expect kann nicht erfüllt werden.
421 Die Anzahl der Verbindungen zum Server von der IP-Adresse des aktuellen Clients überschreitet den maximal zulässigen Bereich des Servers. Normalerweise bezieht sich die IP-Adresse hier auf die Client-Adresse, die vom Server aus gesehen wird (z. B. die Gateway- oder Proxy-Server-Adresse des Benutzers). In diesem Fall kann die Anzahl der Verbindungen mehr als einen Endbenutzer umfassen.
422 Die Anzahl der Verbindungen zum Server von der IP-Adresse des aktuellen Clients überschreitet den maximal zulässigen Bereich des Servers. Normalerweise bezieht sich die IP-Adresse hier auf die Client-Adresse, die vom Server aus gesehen wird (z. B. die Gateway- oder Proxy-Server-Adresse des Benutzers). In diesem Fall kann die Anzahl der Verbindungen mehr als einen Endbenutzer umfassen.
422 Das Anfrageformat ist korrekt, es kann jedoch aufgrund semantischer Fehler nicht geantwortet werden. (RFC 4918 WebDAV) 423 Gesperrt Die aktuelle Ressource ist gesperrt. (RFC 4918 WebDAV)
424 Die aktuelle Anfrage ist aufgrund eines Fehlers fehlgeschlagen, der in einer früheren Anfrage aufgetreten ist, z. B. PROPPATCH. (RFC 4918 WebDAV)
425 ist im WebDav Advanced Collections-Entwurf definiert, erscheint aber nicht im WebDAV Sequence Collection Protocol (RFC 3658).
426 Clients sollten auf TLS/1.0 umsteigen. (RFC 2817)
449 Erweitert von Microsoft, gibt an, dass Anfragen nach Durchführung der entsprechenden Aktion erneut versucht werden sollten.
500 Der Server ist auf einen unerwarteten Zustand gestoßen, der die Verarbeitung der Anfrage verhindert hat. Im Allgemeinen tritt dieses Problem auf, wenn im Programmcode des Servers ein Fehler vorliegt.
501 Der Server unterstützt eine für die aktuelle Anfrage erforderliche Funktion nicht. Wenn der Server die angeforderte Methode nicht erkennt und seine Anforderung für keine Ressource unterstützen kann.
502 Ein Server, der als Gateway oder Proxy fungiert, hat beim Versuch, eine Anfrage auszuführen, eine ungültige Antwort vom Upstream-Server erhalten.
503 Aufgrund vorübergehender Serverwartung oder Überlastung kann der Server die Anfrage derzeit nicht verarbeiten. Dieser Zustand ist vorübergehend und wird nach einiger Zeit wiederhergestellt. Wenn mit einer Verzögerung zu rechnen ist, kann die Antwort einen Retry-After-Header enthalten, um die Verzögerung anzuzeigen. Wenn diese Retry-After-Nachricht nicht gegeben wird, SOLLTE der Client sie genauso behandeln wie eine 500-Antwort. Hinweis: Das Vorhandensein des Statuscodes 503 bedeutet nicht, dass der Server ihn verwenden muss, wenn er überlastet ist. Einige Server möchten einfach Verbindungen von Clients verweigern.
504 Wenn ein Server, der als Gateway oder Proxy fungiert, versucht, eine Anfrage auszuführen, kann er die Anfrage nicht rechtzeitig vom Upstream-Server (dem identifizierten Server) erhalten B. HTTP, FTP, LDAP) oder ein sekundärer Server (z. B. DNS) eine Antwort erhält. Hinweis: Einige Proxyserver geben einen 400- oder 500-Fehler zurück, wenn bei einer DNS-Abfrage eine Zeitüberschreitung auftritt
505 Der Server unterstützt HTTP nicht oder verweigert die Unterstützung in der Anfrage verwendete Version. 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 wird durch das Transparent Content Negotiation Protocol (RFC 2295) erweitert und stellt einen internen Serverkonfigurationsfehler dar: Die angeforderte Verhandlungsargumentressource ist so konfiguriert, dass sie sich in „Verwendet“ befindet sich in der transparenten Inhaltsverhandlung selbst und stellt daher keinen angemessenen Fokus in einem Verhandlungsprozess dar.
507 Der Server kann den zum Abschließen der Anfrage erforderlichen Inhalt nicht speichern. Dieser Zustand gilt als vorübergehend. WebDAV (RFC 4918)
509 Der Server hat sein Bandbreitenlimit erreicht. Dies ist kein offizieller Statuscode, wird aber dennoch häufig verwendet.
510 Die zur Ressourcenbeschaffung erforderlichen Strategien werden nicht erfüllt. (RFC 2774)

Schließlich stammen die meisten Informationen aus dem Internet. Vielen Dank an alle älteren Kollegen, die dazu beigetragen haben!

[Empfohlener Kurs: http-Video-Tutorial]

Das obige ist der detaillierte Inhalt vonKenntnisse über das http-Protokoll, die Front-End-Entwickler kennen müssen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen