Skip to content

Anwendungs Protokolle I (Web Protokolle) HTTP & Co

hfg-joschua-r edited this page Dec 1, 2020 · 7 revisions

Text: Joschua | Bild: Jannes | Quiz: Leonard

HTTP

Ganz vorne in der Adresse einer Website steht "http://" (oder "https://"). Dies bezeichnet das HTTP-Protokoll, welches der Webbrowser benutzt um eine Website aufzurufen.

Wofür wird HTTP verwendet?

HTTP steht für "Hypertext Transfer Protocol" und wird hauptsächlich zur Übertragungen von Webseiten von einem Webserver an einen Webbrowser genutzt. Es ist jedoch nicht auf Webseiten beschränkt sondern kommt auch für andere Anwendungen zum Einsatz. REST-Webservices z.b. basieren auf dem Hypertext Transfer Protocol.

Wann wurde HTTP entwickelt?

Die Entwicklung des Protokolls erfolgte 1989. Die Version HTTP/1.0 wurde im Jahr 1996 im RFC 1945 spezifiziert. Es folgten weitere Versionen wie HTTP/1.1 im Jahr 1999 (RFC 2616) und HTTP/2 im Jahr 2015 (RFC 7540).

Datensicherheit bei HTTP

HTTP arbeitet unverschlüsselt und sendet alle Informationen im Klartext. Um ein Abhören von Verbindungen zu verhindern, lassen sich verschlüsselte VPN-Tunnel (Virtual Private Network) oder die verschlüsselte Variante des Protokolls HTTPS einsetzen.

Wie funktioniert HTTP?

Das HTTP Protokoll arbeitet nach dem Client-Server Prinzip. Hierbei fungiert der Webbrowser als client und der Webserver als HTTP-Server. Damit der Browser eine Webseite aufrufen kann sendet er einen HTTP-request an den Port 80 des Servers, den dieser bearbeitet und mit einer Response Nachricht beantwortet. Request- und Response-Nachrichten bestehen aus dem Header mit den Steuernachrichten und den eigentlichen Daten. Mit der Antwort ist die Verbindung beendet. HTTP

Der Client fordert mithilfe der URL (Uniform Resource Locator) die gewünschte Datei beim Server an. Die URL besteht aus dem zu vewendenden Transportprotokoll ("http://") dem Domain-Name ("www.beispiel.de") und dem gewünschten Dateipfad inklusive Dateiname. Sollte kein Dateiname angegeben sein, schickt der Server die Default-Datei der Domain. Existiert die angeforderte Datei nicht, so schickt der Server eine Fehlermeldung (meist 404, not found).

Wofür benutzt man HTTPS?

Das Hypertext Transfer Protocol überträgt Informationen unverschlüsselt im Klartext. Um für eine sichere Übertragung im Internet zu sorgen, kommt mehr und mehr die verschlüsselte Variante des Hypertext Transfer Protocols HTTPS (Hypertext Transfer Protocol Secure) zum Einsatz. Dieses Protokoll ermöglicht sichere Verbindungen mit Authentifizierung und Ende-zu-Ende-Verschlüsselung. In der Regel authentifizieren sich die Webserver gegenüber dem Webbrowser dabei mit einem Zertifikat. Zu erkennen sind diese Verbindungen an dem Beginn einer URL mit "https://" anstatt "http://". Der genutzte Port ist dann nicht mehr Port 80 sondern Port 443.

DNS

DNS (Domain-Name-System) ist ein hierarchisches Namensverzeichnis für IP Adressen (Adressbuch des Internets) und verwaltet eine statische Datenbasis, die sich über zahlreiche Internet Hosts erstreckt. Konzeptionell ist das Internet in mehrere hundert Domänen aufgeteilt. Die Domänen sind wiederum in Teildomänen (Subdomains) untergliedert usw. Es ist allerdings eine rein organisatorische und keine physikalische Einteilung. Man spricht auch von einem weltweit verteilten Namensraum, der als Baum strukturiert ist. Die Blätter des Baumes sind die Hosts.

Geschichte

Die Vorläufer von DNS waren einfache Txt-Dateien in denen Hostnamen mit ihren Netzwerkadressen verzeichnet waren. Im damaligen Arpanet wurden die Datei host.txt einmal pro Tag von den Hosts im Netzt abgerufen.

Welche verschiedenen Domaintypen gibt es?

Man unterscheidet heutzutage verschiedene Domaintypen:

  • Geographische oder länderspezifische (CountryCode, ccTLDs) Domains wie de, at, us, uk, gb, usw. Für jedes Land ist nach ISO 3166 ein Code mit zwei Buchstaben vorgesehen. Es gibt derzeit über 200 ccTLDs. Für die Europäische Union wurde .eu ebenfalls dieser Art von Domains zugeordnet, obwohl .eu als eine Ausnahme behandelt wird.
  • Allgemeine Domains für Organisationen (generic oder gTLDs)
  • Infrastruktur Domains als Sonderfall (spezielle Domain .arpa)

Top Level domains:

Domain Beschreibung
com Kommerzielle Organisationen
edu Bildungseinrichtungen (fhm.edu)
gov Amerikanische Regierungsstellen (nfs.gov)
mil Militärische Einrichtungen in den USA (navy.mil)
net Netzwerkorganisationen (nsf.net)
org Nichtkommerzielle Organisationen
bis Business, für Unternehmen
arpa TLD des ursprünglichen Arpanets, die heute als sog. Address and Routing Parameter Area verwendet wird (auch als "Infrastruktur-Domain" bezeichnet)
pro Professions, Berufsgruppen der USA, Deutschlands und des Vereinigten Königreichs

Was ist ein DNS-Service?

Ein DNS-Service ist ein global verteilter Service, der menschenlesbare Namen wie "www.beispiel.de" in numerische IP-Adressen wie 192.0.2.1 übersetzt die Computer zur gegenseitigen Vernetzung verwenden.

Das DNS-System des Internets funktioniert ähnlich wie ein Telefonbuch: Es verwaltet die Zuweisung zwischen Namen und Nummern. DNS-Server übersetzen Namensanforderungen in IP-Adressen und steuern dabei, welchen Server ein Endbenutzer erreicht, wenn er in seinen Webbrowser einen Domain-Namen eingibt. Diese Aufforderungen werden als Anfragen bezeichnet.

DNS3

  1. Ein Benutzer öffnet seinen Webbrowser und gibt in die Adressleiste "www.beispiel.de" ein.
  2. Die Anforderung für "www.beispiel.de" wird an einen DNS-Resolver geleitet.
  3. Der DNS-Resolver leitet die Anforderung an einen DNS Root name Server weiter.
  4. Der DNS-Resolver leitet die Anforderung ein weiteres mal weiter, dieses mal an einen TLD(Top-Level-Domain)-Namenserver für .de-Domains. Der Namensserver für .de-domains beantwortet diese Anforderung mit den Namen von vier Namensserver, denen die domain "www.beispiel.de" zugeordnet ist.
  5. Der DNS-Resolver wählt einen dieser Namensserver aus und leitet die Anforderung für "www.beispiel.de" an diesen Namensserver.
  6. Der gewählte Namensserver durchsucht die gehostete Zone beispiel.de nach "www.beispiel.de" und ruft die zugehörige IP-Adresse auf (bsp. 123.0.4.56) und gibt diese zurück.
  7. Somit liegt dem DNS-Resolver die angeforderte IP-Adresse vor! Der Resolver gibt diese Adresse an den Web-Browser zurück.
  8. Der Web Browser sendet nun eine Anfrage für "www.beispiel.de" an die vom DNS-Resolver zurückgegebene IP-Adresse. An dieser Stelle, befindet sich der zugehörige Webserver, welcher den angeforderten Inhalt enthält.
  9. Der Webserver an 123.0.4.56 gibt die Website "www.beispiel.com" an den Browser zurück, der wiederrum die Seite anzeigt.