HTTP

13
HTTP IT-Zertifikat Universität zu Köln Allgemeine Technologien II Dozent: Patrick Sahle Referent: Fabian Heerbaart

description

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) - PowerPoint PPT Presentation

Transcript of HTTP

Page 1: HTTP

HTTP

IT-Zertifikat Universität zu KölnAllgemeine Technologien II

Dozent: Patrick SahleReferent: Fabian Heerbaart

Page 2: 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

Page 3: HTTP

Geschichte

1989 von Tim Berners-Lee zusammen mit der URL und der HTML entwickelt

Als Transportprotokoll meist TCP verwendet

Page 4: HTTP

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)

Page 5: HTTP

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.

Page 6: HTTP

OSI-Modell

Der Abstraktionsgrad der Funktionalität nimmt von Schicht 7 bis Schicht 1 ab

Page 7: HTTP

Ü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

Page 8: HTTP

Ü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

Page 9: HTTP

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.

Page 10: HTTP

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

Page 11: HTTP

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

Page 12: HTTP

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="[email protected]"><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

Page 13: HTTP

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