HTTP
description
Transcript of HTTP
HTTP
IT-Zertifikat Universität zu KölnAllgemeine Technologien II
Dozent: Patrick SahleReferent: Fabian Heerbaart
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="[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
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