130 likes | 318 Views
IT-Zertifikat Universität zu Köln Allgemeine Technologien II Dozent: Patrick Sahle Referent: Fabian Heerbaart. HTTP. Was ist HTTP?. Hypertext Transfer Protokoll Protokoll zum Übertragen von Hypertext-Dokumenten (von PC zu PC) (hpts. Laden von Webseiten in Browser)
E N D
IT-Zertifikat Universität zu Köln Allgemeine Technologien II Dozent: Patrick Sahle Referent: Fabian Heerbaart HTTP
Was ist HTTP? • Hypertext Transfer Protokoll • Protokoll zum Übertragen von Hypertext-Dokumenten (von PC zu PC) (hpts. Laden von Webseiten in Browser) • definiert Reihe von Regeln und Mechanismen die ein Computer(-Programm) verwenden kann zum Anfordern oder Senden bestimmter Dateien • Datenerfrager (der Client) seinen Wunsch nach Daten ausdrücken kann und der Datenlieferer (der Server) versteht, welche Daten gewünscht sind und diese dann auch in geeigneter Form liefern kann Kommunikation
Geschichte • 1989 von Tim Berners-Lee zusammen mit der URL und der HTML entwickelt • Als Transportprotokoll meist TCP verwendet
Ablauf • Als erstes baut der Client eine Verbindung zum Server auf. Dies geschieht meist mittels des TCP/IP-Protokolls. Ist die Verbindung zustande gekommen, beginnt der Datenaustausch. Der Client schickt dazu eine Anfrage (Request) an den Server, in der er um die entsprechende Datei bittet und dann Antwort (Response)
Exkurs: OSI-Modell • Als Designgrundlage von Kommunikationsprotokollen entwickelt (von ISO • Aufgaben der Kommunikation in sieben aufeinander aufbauende Schichten (layers) unterteilt • Jede Schicht ihre Aufgaben, die die Kommunikationsprotokolle realisieren müssen • Die konkrete Umsetzung nicht vorgegeben Somit für jede Schicht zahlreiche Protokolle.
OSI-Modell Der Abstraktionsgrad der Funktionalität nimmt von Schicht 7 bis Schicht 1 ab
Übertragungsweise • Nachricht setzt sich zusammen aus: • Header: Informationen über den Nachrichtenkörper (z.B. Kodierungen od. Inhaltstyp etwa HTTP-Cookies und Metadaten wie Dateigröße,HTTP-Server- und User-Agent-Kennung) für korrekte Interpretation durch Empfänger • Body: enthält die Nutzdaten • Bsp.: http://www.example.net/infotext.html • An Coputer mit Hostname www.example.net Anfrage die Ressource infotext.html zu senden
Übertragungsweise • Der Name www.example.net wird dabei zuerst über das DNS-Protokoll in eine IP-Adresse umgesetzt. • Übertragen werden Dateien in Seitenbeschreibungs-sprachen wie (X) HTML und alle ihre Ergänzungen wie Bilder, Stylesheets (CSS), Skripte etc., die der Browser in einer lesbaren Darstellung miteinander verbindet
Request Methoden:HTTP-Get und POST • Informationssendung: • HTTP-GET: Die Daten sind Teil der URL und bleiben deshalb beim Speichern oder der Weitergabe des Links erhalten. • HTTP-POST: Übertragung der Daten mit einer speziell dazu vorgesehenen Anfrageart in den HTTP-Kopfdaten, sodass sie in der URL nicht sichtbar sind.
Beispiel GET-Methode • GET /index.html HTTP/1.1 • Host: www.html-world.de • User-Agent: Mozilla/4.0 • Accept: image/gif, image/jpeg, */* • Connection: Keep-Alive • 1. Zeile: • gibt die Datei an, die abgerufen werden soll und wie das geschehen soll (GET = Methode) • Danach: • Header, wo Zusatzinformationen zur Verarbeitung, der Verbindung oder gewünschten Dateiformaten
Beispiel GET-Methode • HTTP/1.1 200 OK • Date: Thu, 15 Jul 2004 19:20:21 GMT • Server: Apache/1.3.5 (Unix) • Accept-Ranges: bytes • Content-length: 46 • Connection: close • Content-type: text/html • <h1>Antwort</h1> • <p>Ich bin eine Antwort</p> • 1. Zeile: zu verwendende HTTP-Version, Response-Code (gibt Übertragungsstatus an) und dieser in Textform • Danach: Response-Header mit Zusatzinformationen
Beispiel POST-Methode • <form action="/send.php" method="post"> • Vorname: <input type="text" name="vorname" value="Max"><br> • Name: <input type="text" name="name" value="Mustermann"><br> • E-Mail: <input type="text" name="mail" value="max@muster.de"><br> • <input type="submit" value="Abschicken"> • </form> • Hier: Formular mit 3 Eingabefeldern (Vorname, Name und E-Mail) und Absende-Button und so eingestellt, dass es die Daten an die Datei /send.php schickt und die POST-Methode dazu verwendet • Dann Formularnamen und die dazugehörigen Werte in einen durch Kaufmanns-Und getrennten Datensatz gebracht und Daten zusätzlich in das URL-codierte Format umgewandelt
Beispiel POST-Methode • POST /send.php HTTP/1.1 • Host: meinserver.de • User-Agent: Mozilla/4.0 • Accept: image/gif, image/jpeg, */* • Content-type: application/x-www-form-urlencoded • Content-length: 51 • Connection: close • Vorname=Max&name=Mustermann&mail=max%40muster%2Ede • Unterschied Get-Anfrage: Daten angehangen • Antwort wie Antwort bei einer GET-Anfrage