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