Zum Inhalt springen

HTML5-Client: Was ist der Unterschied zwischen Websockets und XHR?

Websockets ist die persistente Verbindung, die verwendet werden kann, um Daten ohne sequentielle Reihenfolge und ohne HTTP-Header zu empfangen/zu senden.

Xhr-Polling erstellt eine neue Anfrage mit dem HTTP-Header und wartet auf die Antwort mit dem HTTP-Header, ebenfalls in sequenzieller Reihenfolge.

Wenn Sie dies tun, sieht der XHR-Datenfluss immer so aus:

HTTP_HEADER_ANTWORT

auch bevor die Daten heruntergeladen werden können, müssen sie mit HTTP_HEADER angefordert werden, daher sein Name: xhr-polling.

Websockets-Datenfluss kann so aussehen:

FRAME_DATA_SEND FRAME_DATA_SEND FRAME_DATA_RECEIVE FRAME_DATA_SEND FRAME_DATA_RECEIVE FRAME_DATA_RECEIVE

Es handelt sich auch um zufällige Datenübertragung/-empfang ohne spezielle Reihenfolge und ohne HTTP-Headerdaten.

Das macht die Nutzung mit Reverse-Proxys aufgrund des Fehlens von Websockets-Unterstützung durch die meisten bekannten Reverse-Proxys unmöglich; aber die Hälfte des xhr-Transports könnte mit dem Apache-Reverse-Proxy funktionieren.

Auch ansehen: HTML5-Client: Unterstützte Browser