HTTP (Hyper Text Transfer Protocol) bildet als sehr einfaches und effizientes Internet-Protokoll die Grundlage der Kommunikation zwischen Clients und Servern auf dem World Wide Web. Es ist ein Offline-Protokoll, das jede Client-Anfrage separat behandelt, ohne Informationen über den Client zwischen den Anfragen zu behalten. Sobald der Server eine Anfrage von einem Client erhält, liefert er die Informationen. Bis eine neue Anfrage kommt, findet keine weitere Kommunikation zwischen Client und Server statt. Die tatsächliche HTTP-Verbindung dauert normalerweise nur einige Millisekunden. Den Rest der Zeit nehmen Verbindungsaufbau und Übertragung in Anspruch.
HTTP Befehle
| Befehl | Erklärung |
|---|---|
| GET | Der Befehl GET, vom Client abgesetzt, ruft die durch ihn referenzierte Internetadresse auf und holt ein bestimmtes File vom Server. Dies ist der häufigste Befehl, während im Internet gearbeitet wird. |
| HEAD | Dieser Befehl dient dazu, analog dem GET-Befehl, vom Server Informationen über ein Dokument zu erhalten. Dabei wird jedoch nicht das Dokument selbst übertragen, sondern nur die zugehörige Meta-Information, wie z.B. letzte Änderung, File-Format und ähnliches. |
| PUT | Mit diesem Befehl ist es möglich, dass der Client Informationen zum Server schickt, gegebenenfalls vollständige Dokumente, wie sie für das Publizieren von HTML-Dokumenten notwendig sind. Der Befehl ist insofern dem FTP-Befehl sehr ähnlich. |
| DELETE | Dieser Befehl dient zum Löschen von Dokumenten auf dem Server. Dies gelingt allerdings nur, wenn der Client entsprechende Schreibrechte auf dem Server besitzt. |
| LINK | Erzeugt eine oder mehrere Verbindungen. |
| UNLINK | Entfernt diese Verbindungen wieder. |
Die wichtigsten HTTP-Header-Felder
| Feld | Erklärung |
|---|---|
| Accept | Spezifiziert die Medientypen, die der Client verarbeiten kann |
| Accept-Ranges | Server teilt dem Client mit, dass er auch Bereichsangaben akzeptiert |
| Authorization | Enthält die vom Benutzer eingegebenen Zugangsdaten zu geschützten Dokumenten |
| Cookie | In diesem Feld werden die Werte der entsprechenden Cookies übertragen (vom Client zum Server) |
| Connection | Definiert, ob die Netzwerkverbindung nach Abarbeitung der Anfrage geschlossen werden soll |
| Content-Lenght | Datenmenge der übertragenen Daten (ohne Header) |
| Content-Type | Datentyp des zurückgelieferten Dokuments |
| Date | Datum auf Server- oder Client-Seite |
| Expires | Gibt einen Zeitpunkt an, ab dem ein Dokument auf Server-Seite geändert sein kann |
| If-Modified-Since | Anfrage, die nur bearbeitet wird, wenn das Dokument seit dem angegebenen Zeitpunkt modifiziert wurde |
| Last-Modified | Zeitpunkt der letzten Änderung des übertragenen Dokuments |
| Location | Spezifiziert die neue URL eines erzeugten oder verschobenen Dokuments |
| Range | Ein Client kann einen Bereich eines Dokuments angeben, an dem er interessiert ist, und muss das gesamte Dokument anfordern |
| Server | Spezifiziert Name und Version des Webservers |
| Set-Cookie | Werte, die der Server beim Client für die entsprechende URL setzen möchte |
| User-Agent | Identifiziert den verwendeten Client |
HTTP-Statuscodes
| Code | Erklärung |
|---|---|
| 200 | OK Methode war erfolgreich |
| 201 | Created Zusätzlicher Antwort Header |
| 203 | Provisional Information Nicht die Originalheaderversion, wenn Methoden von einem Proxy ausgeführt werden, wird Zusatzinformation in den Header geschrieben |
| 204 | No Content Methode war erfolgreich, jedoch keine Antwort im Rest der Response |
| 300 | Multiple Choices Der Server kann die angeforderte Information aus unterschiedlichen Daten lesen |
| 301 | Moved Permanently Die angeforderte Seite ist umgezogen |
| 302 | Moved Temporarily Die angeforderte Seite ist vorübergehend umgezogen |
| 304 | Not Modified Nach dem im Header angegebenen Datum wurde nichts mehr an der Seite verändert |
| 400 | Bad Request Die Anforderung kann nicht ausgeführt werden |
| 401 | Unauthorized Client ist nicht berechtigt, auf diese Seite zuzugreifen |
| 402 | Payment Required Zukünftiger Befehl, für das elektronische Bezahlen einer Seite |
| 403 | Forbidden Ausführung der Methode verweigert |
| 404 | Not Found URL wurde nicht gefunden |
| 405 | Method Not Allowed Methode ist für diese Seite nicht erlaubt |
| 406 | None Acceptable Verarbeitung der Header ist nicht möglich |
| 407 | Proxy Authentication Required Proxies sollen verifiziert werden. Zukünftiger Befehl |
| 408 | Request Timeout Die Methode konnte innerhalb einer Zeitspanne nicht ausgeführt werden |
| 409 | Conflict Konflikt entsteht, wenn neuere Änderungen überschrieben werden |
| 410 | Gone Die gewünschte Seite ist nicht mehr vorhanden |
| 500 | Internal Server Error Interner Serverfehler |
| 501 | Not Implemented Die Methode ist dem Server ist nicht bekannt |
| 502 | Bad Gateway Der Server hatte beim Versuch auf einen anderen Server zuzugreifen keinen Erfolg |
| 503 | Service Unavailable Keine Möglichkeit die Methode im Moment auszuführen |
| 504 | Gateway Timeout Zeitspanne wurde überschritten beim Zugriff auf einen anderen Server |
Related posts:


