Passer au contenu

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

Websockets est 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 requête avec l'en-tête http et attend une réponse avec l'en-tête http, également dans l'ordre séquentiel.

En faisant cela, le flux de données XHR ressemble toujours à ceci :

HTTP_HEADER_ANSWER -> HTTP_HEADER_ANSWER HTTP_HEADER_ANSWER -> HTTP_HEADER_ANSWER et ainsi de suite

aussi avant que les données puissent être téléchargées, elles doivent être demandées avec HTTP_HEADER, donc son nom : xhr-polling.

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

Données_ENVOYER Données_ENVOYER Données_RECEVOIR Données_ENVOYER Données_RECEVOIR Données_RECEVOIR

Aussi, il s'agit d'un 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 proxies inverses impossible en raison du manque de support des Websockets par la plupart des proxies inverses connus ; mais la moitié du transport xhr peut fonctionner avec un proxy inverse Apache.

Voir aussi : Client HTML5 : Navigateurs pris en charge