Client HTML5 : Quelle est la différence entre Websockets et XHR

Les Websockets sont la connexion persistante qui peut être utilisée pour recevoir/envoyer des données sans ordre séquentiel et sans en-tête HTTP.

XHR-polling crée une nouvelle demande et attend la réponse avec l’en-tête HTTP, dans l’ordre séquentiel.

En procédant ainsi, le flux de données XHR ressemble toujours à ceci :

HTTP_HEADER_REQUEST -> HTTP_HEADER_ANSWER
HTTP_HEADER_REQUEST -> HTTP_HEADER_ANSWER
etc …

Avant que les données ne puissent être téléchargées, elles doivent être demandées avec HTTP_HEADER, d’où le nom : XHR-polling.

Le flux de données Websockets peut ressembler à ceci :

FRAME_DATA_SEND
FRAME_DATA_SEND
FRAME_DATA_RECEIVE
FRAME_DATA_SEND
FRAME_DATA_RECEIVE
FRAME_DATA_RECEIVE

Il s’agit également d’envoi/réception de données aléatoires sans ordre séquentiel spécial et sans aucune donnée d’en-tête HTTP.

Cela rend l’utilisation avec des reverse proxys impossible en raison du manque de prise en charge des Websockets par la plupart des reverse proxys connus ; mais la moitié du transport XHR peut fonctionner avec le revrese proxy Apache.

À voir également : Client HTML5 : Navigateurs pris en charge.

Retour en haut
Logo IT Partners 2025

Retrouvez-nous au Salon ITPartners Paris La Défense Arena - Stand C054
les 5 et 6 février 2025.