|
|
||
|
|
||
| .. Stichwort: HTTP -Request/Response Message | ||
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Es muss also eine Nachfragezeile (Requestline) existieren, der ein General Header oder ein Request-Header oder ein Entity-Header und wahlweise noch ein Entity-Body folgen können. Dabei werden der Entity Header und der Entity Body zunächst die Ausnahme sein. Entity Header und Body beschreiben Nutzdaten, die ein Client dem Server senden kann, was nicht so häufig auftritt. Häufiger ist wohl der Request Header, mit dem geschützte Daten vom Server angefordert werden können, doch zunächst zur Requestline .. |
|
|
|
|
|
|
|
1.1. Requestline = METHOD REQUEST-URL HTTP-Version |
|
|
|
Bsp: GET http://192.168.0.20:80/docs/seite.htm HTTP/1.0\r\n |
|
|
|
Die Nachfragezeile besteht aus der Angabe, welche Methode der Datenübertragung verwendet werden soll (beim SC12 gibt es GET, POST und HEAD), dann folgt der URL, dem wahlweise, durch einen ':' getrennt, das zu benutzende Tor (der Port 0-65535, HTTP Vorgabewert 80) beigefügt werden kann. Zuletzt wird die Version des HTTP-Protokolls angegeben, mit welcher der Client seine Nachfrage erstellt hat. |
|
|
|
In dem Adressfenster eines Browsers wird vom Benutzer normalerweise nur die Request-URL eingetragen, und auch die wird weitgehend vom Browser vervollständigt, wenn z.B. die Protokollangabe http:// vergessen wurde. Das Tor setzt ein Browser bei http-Seiten auf den Vorgabewert 80. Will man diesen Wert überschreiben, so muss man wie oben angegeben, durch einen Doppelpunkt getrennt die gewünsche Tornummer mit eingeben. |
|
|
|
|
|
|
|
|
1.1.1 Die Methode |
|
|
|
|
1.1.2 Die Request-URL und ihre Kodierung |
|
|
|
|
1.1.3 Die HTTP-Version |
|
|
|
|
|
|
|
Üblicherweise ist mit der Requestline schon alles gesagt und eine normale Ressource kann vom Server gesendet werden. Manchmal sind aber weitere Angaben von Nöten, damit der Server etwas tut. Diese Angaben werden in einem der optionalen Header gemacht. Ein häufig anzutreffender Fall ist die Authentifizierung, .. der Nachweis, dass der Client ein zugelassener Nutzer der gewünschten Daten ist. Dies geschieht überwiegend durch einen Benutzernamen und ein Passwort. Dieser Fall soll folgend näher beleuchtet werden. |
|
|
|
1.2. Request-Header= Authorization | from | if modified-since | Referer | User-Agent |
|
|
|
Bsp: Authorization: Basic U2Nod2FyemVyOkdvQmxhY2s=\n |
|
|
|
|
|
|
|
|
1.1.2.1 Der Request-Header |
|
|
|
|
1.1.2.2 Die Benutzer Authentifikation |
|
|
|
|
1.1.2.3 Die Base64 Kodierung |
|
|
|
|
|
|
|
|
|
|
|
from |
Hier kann die eigene eMail-Adresse genannt werden |
|
|
|
if modified-since |
Entity Body (Daten) nur dann senden, wenn das letzte Änderungsdatum nach dem angegebenen Datum liegt |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
In den meisten Fällen wird die Antwort des Servers aus der Statuszeile und dem Entity Body (den Nutzdaten) bestehen. Die Status Zeile enthält dabei folgende Angaben .. |
|
|
|
2.1 Status-Line = HTTP-Version Status Code Reason-Phrase |
|
|
|
Die Version des HTTP-Protokolls, den Statuscode und eine Erläuterung zum Statuscode, die Reason-Phrase |
|
|
|
|
2.1.1 Die HTTP-Version |
|
|
|
|
2.1.2 Der Status Code |
|
|
|
|
|
|
|
2.2.1 General Header |
|
|
|
2.2.2 Respose Header = Location | Server | www-Authenticate |
|
|
|
Location |
Den Standort des Servers |
|
|
|
Server |
Serverart und Version der Software |
|
|
|
www-Authenticate |
Bei Anfragen auf geschützte Ressourcen erscheinen Meldungen, dass sich der Client auszuweisen habe, und wie dies geschehen soll. Der Client ist nun aufgefordert, eine der Aufforderung entsprechende Antwort zu geben. |
|
|
|
|
|
|
|
Allow |
Die Zugriffsmethode Get, Head, Post auf die Daten im Entity Body |
|
|
|
Content-Encoding |
Den Kompressionsalgorithmus der auf die Daten im Entity Body angewendet wurde, z.B. x-gzip |
|
|
|
Content-Length |
Die Länge der Daten in Bytes, im Entity Body |
|
|
|
Content-Type |
Den Mime-oder InhaltsTyp der Daten im Entity Body |
|
|
|
Expires |
Die Gültigkeitsdauer der Daten im Entity Body |
|
|
|
Last modified |
Das Datum der letzten Änderung der Daten im Entity Body |
|
|
|
|
|
|
|
|
2.2.3 Die Mime-Typen |
|
|
|
|
|
.de