Guide de l'Administrateur

Client HTML5 : Quelle différence entre Websockets et XHR?

Websockets est la connexion permanente 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 avec un en-tête HTTP et attend la réponse avec l'en-tête HTTP et également un ordre séquentiel.

Cela signifie que le flux de données XHR a toujours l'air de:

HTTP_HEADER_REQUEST -> HTTP_HEADER_ANSWER HTTP_HEADER_REQUEST -> HTTP_HEADER_ANSWER
						et ainsi de suite... 

Aussi, avant que les données ne puissent être téléchargées, l'en-tête doit être demandé avec HTTP_HEADER, d'où son nom: xhr-polling.

Le flux de données Websockets peut se présenter ainsi:

FRAME_DATA_SEND FRAME_DATA_SEND FRAME_DATA_RECEIVE FRAME_DATA_SEND FRAME_DATA_RECEIVE
						FRAME_DATA_RECEIVE 

Il existe aussi des données aléatoires d'émission/réception sans ordre séquentiel spécial et sans aucune donnée d'en-tête HTTP.

Cela rend l'utilisation des reverse proxys impossible en raison de l'absence de Websockets pris en charge par les reverse proxys les plus connus, mais la moitié du transport XHR peut fonctionner avec Apache reverse proxy.

Voir également: Client HTML5: Navigateurs supportés



Retour haut de page