|
HTTP Paper by st4cky
|
|
19-07-2010, 03:23 PM
Beitrag #1
|
|||
|
|||
|
HTTP Paper by st4cky
+----------------------+
| HTTP Paper | | by st4cky | +----------------------+ Inhalt: ------- 1.Was ist HTTP? 2.Request Header 3.Response Header 1. Was ist HTTP? ---------------- HTTP (Hypertext Tranfer Protocol) ist das Protokoll über dass der Browser mit dem Webserver "spricht". Mit dem HTTP Protokoll wird zum Beispiel die Website die ihr gerne ansehen möchten auf ihren Computer übertragen (das HTML Dokument). Das HTTP Protokoll nutzt den TCP Port 80 und ist Textbasierend. da heißt wir können alles schon mit einem Telnet Client austesten .geben wir (ich habe Linux wie das unter Windows ist weis ich nicht da ich Windows nur sehr selten benutze)das hier in das Teminal ein: ?# telnet google.de 80 Trying 216.239.59.104... Connected to google.de. Escape character is '^]'. HEAD / HTTP/1.0 Host: google.de dann wird diese "Ausgabe" kommen: HTTP/1.0 301 Moved Permanently Location: http://www.google.de/ Content-Type: text/html; charset=UTF-8 Date: Mon, 16 Nov 2009 12:50:47 GMT Expires: Wed, 16 Dec 2009 12:50:47 GMT Cache-Control: public, max-age=2592000 Server: gws Content-Length: 218 X-XSS-Protection: 0 was wir gemacht haben wird später erklährt das hier sollte nur ein Beispiel sein wie man telnet benutzt. 2.Request Header ---------------- Die Request ist die Nachricht die euer Browser an den Server verschickt wenn er gerne ein Dokument bekommen möchte eine Request ist so aufgebaut: Methode Pfad HTTP/Version Host: Hostaddr/name 2x \r\n (also neue Zeile) wenn man keinen Pfad braucht weil man OPTIONS HEAD oder sonst etwas benutzt setzt man anstelle dessen einfach ein '/'. die wichtigsten Methoden sind: GET -----> Fordert ein Dokument mit der GET Methode an POST -----> Wie GET nur dass es keinen Query String gibt sondern der Body verarbeitet wird. HEAD -----> Response enthält nur einen Header OPTIONS ------> Informiert über alle Methoden die unterstützt werden. GET und POST ------------ vielleicht habt ihr ja schon bemerkt dass wenn ihr bei google etwas sucht in der Zeile wo ihr den Hostnamen eingebt nicht mehr nur google.de steht sondern eher sowas: http://www.google.de/search?hl=de&sourc ... =&aq=f&oq= mit dem ganzem "Kaudawelsch" sagt der Browser google was ihr den gerne suchen möchtet. das ist die GET Methode. Bei der GET Methode werden die Informationen die der Server verarbeiten möchte über die URL empfangen. wenn ich jetzt eine eigene Suchmaschine hätte die unter such.de zu errichen währe, könnte ich, wenn ich mit GET arbeite, das so bewerkstelligen: http://www.such.de?suchstring=Hallo+Welt jetzt wollen wir mal unsere Request auseinander nehmen: http://www.such.de ---> sollte klar sein... ? -> heißt hier sofiel wie und (hängt den Querrystring an die URL) suchstring=Hallo+Welt ---> suchstring ist zo zusagen eine Varriable in de der Wert "Hallo Welt" abgelegt wird. Das + ist == ' '. Bei Der Post Methode Laüft das fast genau so nur dass der Querrystring im Body ist. Das ist sinnfoll wenn z.B. ein langer Text übertragen wird. Was ist den jetzt besser? Antwort: Garnichts. Die Post Methode sollte genommen werden wenn große Datenmengen übertragen werden sollen und die Get Methode bei kleinen (z.B. einem Suchstring). 3.Response Header ----------------- Zur Response gibt es eigentlich nicht viel zu sagen... die Informationen die mitgegeben werden sind nicht immer die gleichen manchmal gibt es mehr und manchmal weniger. Was die Statuscodes angeht: Statuscodes sind in der Zeile hier: HTTP/1.0 301 Moved Permanently eine 1 am anfang sagt immer dass der Server "zu langsam ist" also er braucht noch ein wenig um die Informationen die ihr ihm zugeschoben haben zu verarbeiten. ein 2 am anfang heist eigentlich dass alles glatt gegeanen ist. Bei einer 3 wird der Client irgentwo hin umgeleitet da das gewünste Dokument verschoben wurde oder ähnliches assiert ist. Eine 4 ist immer blöde da dann irgentwas uf der Client seite schief gelaufen ist d.h. ihr/euer Browser habt/hat etwas falsch gemacht. in dem Body der Response ist wenn alles glatt ging die gewünschte information. und hier nochmal eine GET Anfrage an google: REQ: GET /index.htm HTTP/1.0 Host: google.de RES: HTTP/1.0 301 Moved Permanently Location: http://www.google.de/index.htm Content-Type: text/html; charset=UTF-8 Date: Mon, 16 Nov 2009 13:29:23 GMT Expires: Wed, 16 Dec 2009 13:29:23 GMT Cache-Control: public, max-age=2592000 Server: gws Content-Length: 227 X-XSS-Protection: 0 <HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8"> <TITLE>301 Moved</TITLE></HEAD><BODY> <H1>301 Moved</H1> The document has moved <A HREF="http://www.google.de/index.htm">here</A>. </BODY></HTML> so das wars ![]() mfg st4cky[/code] |
|||
|
|
Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste



.




