Anwendungsschicht

Dieser Kurs befindet sich im Aufbau…

Einführung

Die oberste aller Schichten im Schichtenmodell des Internets ist die Anwendungsschicht. Hier “leben” die Protokolle, die den meisten Internet-Nutzern bekannt sind, wie z.B. HTTP oder DNS. Anwendungen, bzw. Bibliotheken, die Anwendungen nutzen implementieren diese Protokolle. Jeder der Programmieren kann, kann auch ein Protokoll der Anwendungsschicht implementieren. Aber was genau leisten Protokolle der Anwendungsschicht, und welche Dienste tieferliegender Schichten werden genutzt?

Das Web

Das Web wird oft mit dem Internet verwechselt, denn das Web ist wohl der sichtbarste Teil des Internets. Das Protokoll des Webs ist HTTP, das Hypertext Transfer Protocol. Auch URLs wird jeder Internetnutzer kennen. Aber wie hängt das alles zusammen?

HTTP

Jetzt, da die Grundlagen geklärt sind, wird es Zeit sich HTTP im Detail anzuschauen, d.h. welche Steuerinformationen HTTP verschickt und wie diese kodiert werden. Damit ist HTTP das erste Protokoll, das im Detail betrachtet wird.

Cookies und Caches

Jeder sollte mittlerweile davon überzeugt sein, wie wichtig HTTP ist. Ein Protokoll von so zentraler Wichtigkeit muss viele verschiedene Anwendungsfälle abbilden können. Dazu braucht es aber eine Möglichkeit Zustand zu halten. HTTP selbst ist aber zustandlos. Auch ist die Leistungsfähigkeit von HTTP wichtig. Diese beiden Aspekte sollte man sich genau anschauen.

HTTP/2

HTTP/1.1 war lange das Rückrad des modernen Webs. Aber über die Jahre wurde auch Probleme offensichtlich, die man adressieren wollte. Google hatte schon ein Protokoll entworfen und auch schon im Einsatz: SPDY (sprich: Speedy). Daraus wurde dann HTTP/2. Aber was genau waren die Probleme von HTTP/1.1 und wie sieht die Lösung in Form von HTTP/2 aus?

DNS

Im Web werden wie schon gesehen URLs eingesetzt, um Ressourcen zu addressieren. Der Host-Teil der URL ist dabei typischerweise ein DNS-Name. Diese Namen finden sich überall und sind daher extrem wichtig für das Internet. Auf IP-Ebene wird aber nicht mit Namen, sondern mit IP-Adressen gearbeitet. Man braucht daher einen Dienst, der diese Namen in IP-Adressen auföst. Dieser Dienst ist das DNS - das Domain Name System.

Die DNS-Namensauflösung

Das verteilte, hierarchisch strukturierte DNS erlaubt es unter anderem Namen in IP-Adressen aufzulösen. Dazu gibt es zwei generelle Vorgehensweisen, die hier erläutert werden.

Email-Versand

Eine der ersten Killer-Anwendungen des Internet war sicherlich Email. Auch heute noch geniesst, trotz aller Probleme, einen hohen Stellenwert in der alltäglichen Kommunikation. Das Versenden von Emails und das Abrufen von Emails ist dabei grundlegend verschieden. Fangen wir mit dem Email-Versand an.

Email-Empfang

Der Email-Empfang kann auf unterschiedlich Art und Weise geschehen. Meist geschieht dies durch einen Client, der entsprechende Protokolle implementiert hat. Diese schauen wir uns im nächsten Video an. Ausserdem wird FTP kurz beleuchtet. Nicht, weil das Protokoll noch einen so großen Stellenwert im heutigen Internet hat, sondern weil es eine interessante Designentscheidung getroffen hat.

Weiter