Netzwerkanwendungen, Teil 1: HTTP und E-Mail

E-Mail

Elektronische Post - E-Mail - ist eine einfache Anwendung. Die Aufgabe ist es, ein Dokument - etwa einen einfachen Text, ein Bild, ein Video oder eine Kombination mehrerer Elemente - von einem Sender zu einem Empfänger zu schicken. Auch hier findet sich wieder die Unterteilung in Client-Anwendung, Server-Anwendung, Anwendungsprotokoll und Begleitprotokoll. Im Folgenden sollen das Anwendungsprotokoll Simple Mail Transfer Protocol (SMTP) und das Protokoll Multi-Purpose Internet Mail Extension (MIME) zum Format der Nachricht näher betrachtet werden.

Auf Seiten des Clients ist die Situation etwas komplizierter als bei einem Webbrowser. Anders als bei WWW ist E-Mail eine asynchrone Anwendung. Neue Mails können zu beliebigen Zeiten eintreffen. Man benötigt daher einen Mechanismus, um die Anwendung für das Benutzer-Interface (Benutzeragent, E-Mail-Reader) von der Zustellung zu entkoppeln. Dabei gibt es zwei unterschiedliche Strategien.

Falls eine permanente Verbindung zum Mail-Server (etwa einem Rechner in einem lokalen Netz) besteht, kann ein im Hintergrund laufender Prozess als Postamt arbeiten. Dieser Mail-Daemon nimmt Mails an und legt sie im Postfach des Benutzers ab. Gleichzeitig informiert er den Benutzer über die Ankunft einer neuen E-Mail. Der Benutzer kann dann mit seinem Mail-Reader die Nachricht lesen. Erhält der Mail-Daemon umgekehrt ausgehende Nachrichten, schickt er sie sofort an den Mail-Server.

Wenn allerdings nur temporär eine Verbindung zum Mail-Server vorhanden ist, benötigt man ein Protokoll, um gezielt Nachrichten abzuholen und abzugeben. Ein typischer Anwendungsfall dafür ist die manuelle Einwahl vieler Privathaushalte über ein Modem. Hier kommt meist das Mail-Fetching-Protokoll Post Office Protocol Version 3 (POP3) zum Einsatz.

Bei der E-Mail-Anwendung ist die Trennung zwischen Client und Server weniger deutlich als beim WWW. Letztlich stellen beide Seiten die gleiche Funktionalität - Empfangen und Senden von E-Mails - bereit. Insofern ergibt sich die Unterscheidung eher aus der jeweiligen Rolle aus Sicht des Benutzers.