Internetanwendungen werden nach dem Client-Server-Prinzip erstellt. Der Client ist hierin den meisten Fällen das Benutzer-Interface und nimmt vom Server bestimmte Dienste inAnspruch. Er baut in Abhängigkeit vorher definierter Ereignisse (z.B. dem Starten einerInternetanwendung durch einen Anwender) die Verbindung zum Server auf und ist somitder aktive Teil. Der Server stellt nun den gewünschten Dienst zur Verfügung. Er muß sich ständig in einem Zustand befinden, in dem er Verbindungsaufforderungen von Clients entgegennehmen kann - er ist der passive Teil. Ein Server darf niemals einen Dienst vom Client anfordern. Client und Server müssen die gleiche Sprache sprechen: Sie müssen sich also an einem gemeinsamen Protokoll orientieren. Das unterschiedliche Verhalten von Client und Server läßt allerdings eine Asymetrie entstehen, die sich in der Verwendung unterschiedlicher Schnittstellen-Befehle bei der Realisierungeiner Client- oder Serverapplikation niederschlägt.