Protokolle - digitalideation/studio_webmobile2_2021 GitHub Wiki


Illustration by Susanne Staubli, Eckart Zitzler, Creative Commons Attribution-NonCommercial 4.0 International License

Unterschied HTTP Protokoll und WS (websocket) Protokoll

Soll eine Website aufgerufen werden, muss der Client bei HTTP erst eine Anfrage an den Server senden. Erst dann kann dieser Antworten und die gewünschten Inhalte liefern. Für jede neue Datenlieferung muss eine neue Anfrage gestellt werden. Die Seite wird mit den neuen Daten vom Browser gerendert und angezeigt. Dieses Frage Antwort System macht das Laden von neuen Inhalten schwerfällig. Du kannst dir HTTP vorstellen, wie ein telefonisches Beratungsgespräch, bei dem du für jede Frage zuerst anrufen musst. Nachdem du deine Frage gestellt hast und die Antwort bekommen, wird die Verbindung unterbrochen. Für die nächste Frage musst du wieder anrufen. Aus Sicherheitsaspekten macht das Sinn. Du bekommst nichts geliefert, das du nicht angefragt hast.

Im Gegensatz dazu wurde mit WebSocket (WS) eine Möglichkeit des dynamischen Abrufens einer Webseite in Echtzeit geschaffen. Mit dem WebSocket-Protokoll reicht es bereits, wenn der Client die Verbindung zu einem Webserver öffnet. Nach der Anmeldung bleibt die Verbindung offen und der Server kann dem Client auch ohne vorherige Anfrage neue Informationen senden. Um bei unserem Bild vom Gespräch zu bleiben: hier bliebe die Leitung offen und dein Gegenüber könnte auch von sich aus mal etwas erzählen, ohne dass du es mit einer Frage dazu aufgefordert hast.

Für unsere Cross- oder Multi Device Applikation brauchen wir das websocket Protokoll. Nur so laufen die Informationen flüssig. Erweitern wir unser Bild vom Gespräch zwischen zwei Personen zu einem Gruppengespräch, zum Beispiel einem Chat, wird die Notwendigkeit einer offenen Verbindung noch deutlicher. Person A muss aktiv informiert werden, wenn Person B etwas schreibt – der Server muss diese Information von sich aus schicken können. Wenn das nicht möglich wäre, wüsste Person A nicht, ob eine Antwort gekommen ist. Sie müsste laufend Anfragen an den Server stellen und viele von diesen Anfragen hätten kein Resultat – nämlich dann, wenn Person B nichts geschrieben hat.

Weiterführend

⚠️ **GitHub.com Fallback** ⚠️