HTTP - Antworten


Advertisements

Nach Erhalt und Interpretation eine Anforderungsnachricht reagiert ein Server mit einem HTTP-Antwort:

  • Ein StatusZeile
  • Keine oder mehrere Header (General | Antwort | Entität) Felder gefolgt von CRLF
  • Eine leer Zeile (dh, eine Linie mit nichts voran die CRLF), die das Ende der Header-Felder
  • Optional kann eine Nachricht Körper
  • Die folgenden Abschnitte erklären jede der Entitäten verwendet in einem HTTP-Antwortnachricht.

    Meldung Status-Zeile

    A Status-Zeile besteht aus dem Protokoll-Version gefolgt von einem numerischen Statuscode und die dazugehörige Textphrase . Die Elemente sind getrennt durch Raum SP zeichen.

Status-Line = HTTP-Version SP Status-Code SP Reason-Phrase CRLF

HTTP Version

Ein Server unterstützung HTTP Version 1.1 wird zurück die folgende Versionsinformation :

HTTP-Version = HTTP/1.1

Statuscode

Die Status-Code-Element ist eine 3-stellige ganze Zahl wo,ersten Stelle des Statuscode definiert die Klasse der Reaktion und die letzten beiden Ziffern haben keinen Kategorisierung Rolle. Es gibt 5 Werte für die erste Stelle:

S.N. Code und Beschreibung
1 1xx: Informational

Es bedeutet die Anforderung empfangen wurde, und der Prozess ist fortgesetzt.

2 2xx: Success

Es bedeutet die Aktion erfolgreich empfangen wurde, verstanden und akzeptiert.

3 3xx: Redirection

Es bedeutet, das weitere Aktion muss, um die Anforderung abzuschließen genommen werden.

4 4xx: Client Error

Es bedeutet die Anforderung enthält falsche Syntax oder nicht erfüllt werden können.

5 5xx: Server Error

Das bedeutet, der Server gescheitert gegen eine scheinbar gültige Anforderung erfüllen.

HTTP-Statuscodes sind erweiterbar und HTTP-Anwendungen sind nicht erforderlich, um die Bedeutung aller registrierten Status-Codes zu verstehen. Eine Liste aller Statuscodes ist in einem separaten Kapitel für Ihre Referenz gegeben worden.

Antwort-Header Felder

Wir wird studieren Allgemein-Header und Entität-Header in einem eigenen Kapitel, wenn wir wird HTTP-Header-Felder zu lernen. Denn jetzt, lassen Sie uns prüfen, was Antwort-Header Felder sind.

Die Antwort-Header-Felder, dass erlauben der Server, um zusätzliche Informationen über die Antwort, die nicht in der Status- Zeile platziert werden können passieren. Diese Header-Felder geben Informationen über den Server und über die weiteren Zugriff auf die Ressource identifiziert von der Request-URI wird.

  • Akzeptieren Bereiche

  • Alter

  • ETag

  • Lage

  • Proxy-Authentifizieren

  • Wiederholen - Nach

  • Server

  • Variieren

  • WWW-Authentifizieren

Sie können einzuführen Ihre Brauch Felder für den Fall , Sie gehen, um Ihre eigenen Brauch Web-Client und Server zu schreiben.

Beispiele für Antwort-Nachricht

Nun wollen wir sie alle zusammen, um eine HTTP-Antwort für eine Anfrage zu bilden, zu holen den hello.htm Seite aus dem Web-Server läuft auf howcodex.com.

HTTP/1.1 200 OK
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache/2.2.14 (Win32)
Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT
Content-Length: 88
Content-Type: text/html
Connection: Closed

<html>
<body>
<h1>Hello, World!</h1>
</body>
</html>

Das folgende Beispiel zeigt eine HTTP-Antwort-Nachricht die Anzeige Fehlerzustand, wenn der Web-Server nicht die aufgerufene Seite finden:

HTTP/1.1 404 Not Found
Date: Sun, 18 Oct 2012 10:36:20 GMT
Server: Apache/2.2.14 (Win32)
Content-Length: 230
Connection: Closed
Content-Type: text/html; charset=iso-8859-1
   
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html>
<head>
   <title>404 Not Found</title>
</head>
<body>
   <h1>Not Found</h1>
   <p>The requested URL /t.html was not found on this server.</p>
</body>
</html>

Es folgt ein Beispiel der HTTP-Antwort, die zeigen Fehlerbedingung, wenn der Web-Server hat aufgetreten einen falschen HTTP-Version in der gegebenen HTTP-Anforderung:

HTTP/1.1 400 Bad Request
Date: Sun, 18 Oct 2012 10:36:20 GMT
Server: Apache/2.2.14 (Win32)
Content-Length: 230
Content-Type: text/html; charset=iso-8859-1
Connection: Closed
   
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html>
<head>
   <title>400 Bad Request</title>
</head>
<body>
   <h1>Bad Request</h1>
   <p>Your browser sent a request that this server could not understand.</p>
   <p>The request line contained invalid characters following the protocol string.</p>
</body>
</html>
Advertisements