HTTP-Anfrage
Sending request: GET /nonexistent.html HTTP/1.1 Host: www.google.ch User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3 (.NET CLR 3.5.30729) Referer: http://www.rexswain.com/httpview.html Connection: close Receiving Header: HTTP/1.1·404·Not·Found(CR)(LF) Cache-Control:·private,·max-age=0(CR)(LF) Date:·Mon,·11·Jun·2019·04:11:23·GMT(CR)(LF) Expires:·-1(CR)(LF) Content-Type:·text/html;·charset=UTF-8(CR)(LF) Server:·gws(CR)(LF) X-XSS-Protection:·0(CR)(LF) Transfer-Encoding:·chunked(CR)(LF) Connection:·close(CR)(LF)
Sending Request
Methode |
Bedeutung |
CONNECT |
|
DELETE |
|
GET |
|
HEAD |
|
OPTIONS |
|
POST |
|
PUT |
|
TRACE |
|
Client Header
HTTP-Header |
BEDEUTUNG |
Accept | Beispiel: Accept: style/css
|
Accept-Charset | Beispiel: Accept-Charset: ISO 8859-1
|
Accept-Encoding | Beispiel: Accept-Encoding: gzip
|
Accept-Language | Beispiel: Accept-Language:de, en, fr
|
Authorization | Beispiel Basic: Authorization: nutzername passwortBeispiel Digest:Authorization: Digest username=”me”, realm=”iwantin@localhost’; nonce=”Iss9zb710qdd2e0e86cIdOf6606ss0c099″, uri=“/no/download/”, qop=auth, nc=00000001, cnonce=”3ag5116b”, response=”6d59fae497t3b05332951k55222c4ef1 “, opaque=”5cdhh69c8ln9baf9f0171e951ff4fe41″‘
|
Cache-Control | Beispiel: Cache-Control: min-fresh = 5000
|
Cookie | Beispiel: Cookie: CookieDaten=982
|
From
|
Beispiel: From: test@modul239.com
|
Host | Beispiel: Host: iet-gibb.raphaelphoto.ch
|
Referer
|
Beispiel: referer: google.com
|
User-Agent
|
Beispiel: User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.84 Safari/537.36
|
Via
|
Beispiel: Via: SIP/2.0
|
Body
Bei der Client-Anforderung ist es möglich, einen Body mitzusenden. Beispielsweise bei POST-Method Formularen. Die Werte stehen dann im Body der Anfrage. Bei PUT wird die zu übertragene Datei auch im Body mitgesendet.
Serverantwort
Codes
- 100er: Informationsmeldungen
- 200er: Erfolgsmeldungen
- 300er: Umleitungsmeldungen
- 400er: Clientbasierte Fehlermeldungen
- 500er: Serverbasierte Fehlermeldungen
Wichtigste Meldungen
200 OK | Die Daten wurden wie gewünscht versendet. Das sollte der Normalfall sein! |
203 Non-Authoritative | Der Statuscode enthält zusätzliche Informationen, Information, die nicht vom angeforderten Server selbst kommen, sondern von einer anderen Software, die auf dem Server-System eingesetzt wird, beispielsweise einem Proxy-Server |
301 Moved Permanently | Die Daten sind vorübergehend unter einem anderen Anfrage-URI erreichbar. Die neue Adresse wird in der Antwort mit angegeben. Webbrowser fordern dann diese Adresse an und der Benutzer merkt davon nichts. |
404 Not Found | Die Daten wurden nicht gefunden. Dieser Statuscode entsteht oft, wenn Benutzer per Hand einen komplexen Anfrage-URI in den Browser eintippen und sich dabei verschreiben. |
500 Internal Server Error | Die Daten werden nicht gesendet, weil auf dem Server ein Fehler aufgetreten ist. Meistens konnte ein CGI-Skript nicht gestartet werden. |
Weitere Meldungen und Spezifikationen können unter https://www.w3.org/Protocols/rfc2616/rfc2616.txt eingesehen werden.
Header
Im Header, der vom Client an den Server gesendet wird können praktisch alle bereits erwähnten Header verwendet werden. Es gibt noch einige zusätzliche. Hier sind einige Beispiele:
- Cache-Control
- public: darf zwischengespeichert werden
- private: antwort darf nicht zwischengespeichert werden
- Retry-After
- Retry-After 3600
- Kann verwendet werden, wenn Anfragen erneut gesendet werden können (Bsp. Error 503)
- WWW-Authenticate
- WWW-Authenticate: Basic realm=”something”
- Liefert Informationen für die Zugangskontrolle
Bei solchen Headerantworten kommt anschliessend immer eine Leerzeile.
WebDAV
Beim HTTP-Protokoll gibt es nicht wirklich eine Möglichkeit, gemeinsam an Dokumenten zu arbeiten. Es gibt aber eine Erweiterung: WebDAV (Web based Distributed Authoring and Versioning).
So lassen sich gemeinsam Dokumente bearbeiten und teilen. Bearbeiter können damit auch Dokumente Sperren und weiter bearbeiten ohne Netzwerkverbindung zu haben.
Es können auch Metadaten zugeordnet werden (Bsp. Autorname)
Namespace-Management
Methode |
Bedeutung |
COPY | Kopiert Collections und Ressourcen innerhalb eines zusammenhängenden Namensraums |
LOCK | Setzt für den Überschreibschutz eine Sperre auf eine Collection oder Ressource. |
MOVE | Verschiebt Collections und Ressourcen innerhalb eines zusammenhängenden Namensraums. |
MKCOL | Erzeugt eine neue Collection. |
PROPFIND | Liest Metadaten von Ressourcen oder Collections. |
PROPPATCH | Schreibt Metadaten von Ressourcen oder Collections. |
UNLOCK | Gibt eine gesperrte Collection oder Ressource wieder frei. |