Apache-Minikurs 1

☰ Menü

Das HTTP-Protokoll

Verbindungen zwischen Client und Server werden in Protokollen festgelegt. Für das HTTP-Protokoll sind diese in RFCs (Request for Comments) festgelegt.
HTTP/1.0, siehe RFC 1945
HTTP/1.1, siehe RFC 2616

Welche Informationen werden zwischen Client und Server ausgetauscht?

Bei der URL http://www.example.com wird eine im Klartext formulierte Anfrage an den Webserver geschickt. HTTP-Anfragen werden üblicherweise mit einem GET-Befehl eingeleitet. Der Server liefert die Antwort und gibt einen Statuscode zurück. Der Stauscode 200 steht für eine erfolgreich bearbeitete Anfrage.

Eine typische Anfrage besteht aus folgenden Klartextzeilen:

Typische Anfrage Beschreibung
GET  HTTP/1.1 CrLf
Hole die Startseite (z.B. index.html) und verwende HTTP v. 1.1
Host: www.example.com CrLf
Angabe des angesprochenen Rechners
Connection: Close CrLf
Verbindung beenden
CrLf
Abschließender Zeilenumbruch
Box 1: Typische Anfrage eines Clients an einen Webserver

 

HTTP-Request

 

Ein Webserver kann man also mit einfachen ASCII-codierten Befehlen ansprechen. Es funktioniert sogar mit dem Programm Putty. Die Vorgehensweise ist allerdings ziemlich umständlich:

 

Vorgehensweise:

  1. Rechnername bzw. IP-Adresse eingeben
  2. Port 80 eingeben
  3. Raw-Modus auswählen
  4. Close window on exit: never
  5. Auf Open klicken
  6. Anforderung schreiben: GET / HTTP/1.0
  7. Enter-Taste zweimal betätigen

 

Telnet-Session starten

 

Anfrage und Antwort

 

Noch etwas komfortabler ist das Programm HTTPclient.exe. Man kann den Anfragestring editieren, die Antwort abspeichern, den Header ausblenden uvm.

Die Webseite www.example.org anzeigen...

 

 

Oder mit dem Zusatz /search?q=viersen bei Google nach seinem Wohnort suchen...

 

HTTP Client

 

Mit Firefox kann man ( mittlerweile auch ohne das Firefox-Add-on Firebug) ebenfalls den Informationsfluss zwischen Client und Server sehr schön beobachten. Mit der Funktionstaste F12 schalten Sie das Analysewerkzeug ein- bzw. ausschalten. Die Netzwerkfunktionalität muss noch im Firebug (Schaltfläche Netzwerk) aktiviert werden. Mit F5 wird die Seite neu aufgerufen. Den Browser-Cache überlisten Sie mit der Aktualiserungsschaltfläche F5.

 

Web-Analyse

 

Merke: Der Server wird über IP-Adresse, bzw. den Namen sowie der zugehörigen Portnummer - bei HTTP wird normalerweise der Port 80 genutzt - angesprochen.
Mittels eines GET-Befehls, gefolgt von der Angabe der Protokollversion wird die Anfrage eingeleitet
und mit einer Leerzeile (bzw. der erneuten Angabe des Hostnamens) abgeschlossen.
Der Server schreibt Statusinformationen in einen Header und hängt den gewünschten Inhalt an.

 

Aufgaben

  1. Was sind HTTP-Statuscodes?
  2. Welche Bedeutung haben die Codes 200, 400, 403, 404, 500?
  3. Was bedeutet die Aussage: "HTTP ist ein zustandsloses Protokoll?"
  4. Was bedeutet die Aussage: "HTTP ist ein verbindungsorientiertes Protokoll?"
  5. Welche Portnummer des Servers wird bei HTTP üblicherweise verwendet?
  6. Wozu dienen Portnummern?
  7. Informieren Sie sich über die übliche Zuordnung zwischen Portnummern und Protokollen!
  8. Erläutern Sie den Aufbau einer typischen Anfrage an einen Webserver!
  9. Auf welcher Ebene des OSI-7-Schichtmodells ist HTTP angesiedelt?
  10. Auf welcher Ebene des OSI-7-Schichtmodells sind IP-Adressen und Portnummern angesiedelt? Die Kombination aus IP-Adresses und Port wird auch Socket genannt.

 

W. Hermanns, © 2018