stareagle: HTTP POST ?!

Beitrag lesen

Moin,

Kann mir das jemand mal für dummys erklären?!

Ich kanns versuchen... Aber weiter lesen musst du dann selbst

Hier:
http://de.wikipedia.org/wiki/Hypertext_Transfer_Protocol

Das Hypertext-Transfer-Protocol ist das Protokoll, mit sich z.B. ein Browser und ein Webserver unterhalten.

steht:
POST /wiki/Spezial:Search HTTP/1.1
Host: de.wikipedia.org
Content-Type: application/x-www-form-urlencoded
Content-Length: 24

search=Katzen&go=Artikel

In was für eine Datei muss das denn packen, html, php. xml ?

Häh? Das sieht mir eher danach aus, das es die Eingaben aus einem Formular sind. Wenn du ein Formular im Browser auffüllst und auf Abschicken klickst, verpackt dein Browser das ganze in HTTP. Zuerst kommt ein Header, damit der Webserver weiss, was er damit anfangen soll.

Die erste Zeile sagt ihm, das es sich um per POST gesendete Daten handelt. Danach kommt die Adresse an die die Daten geschickt werden sollen, sowie der Name des (virtuellen) Servers (auf einer IP können mehrere Webserver, die anhand des Namens unterschieden werden liegen). Die Zeile mit dem Content-Typ sagt dem Server was er da bekommen hat, die letzte Zeile des Headers sagt ihm, wie lang der Datenteil ist. Dann kommt eine Leerzeile, die Header und Daten trennt.

Der Webserver versucht die Daten an /wiki/Spezial:Search zu übergeben (das kann z.B. eine PHP-Skript sein, das diese verarbeitet).

Und das antworter der Server:
HTTP/1.0 302 Moved Temporarily
Date: Fri, 13 Jan 2006 15:32:43 GMT
Location: http://de.wikipedia.org/wiki/Katzen

Die Resource, an die die Daten geschickt werden sollten gibt es an der Position nicht mehr. Der Server antwortet schickt daher diese Meldung zurück an den Brower. Diese konkrete Meldung sagt dem Browser, dass die Ressource jetzt woanders liegt.

Was der Browser dann damit anstellt, ist ihm überlassen. Er könnte eine Meldung anzeigen, aber auch einfach die Anforderung nochmal an die richtige Adresse schicken, ohne dass der Benutzer was davon mitbekommt...

Gruß

Stareagle