Ce tutoriel décomposera ce que ces technologies impliquent et ce que chacun d'eux offre. Cela vous aidera à comprendre et à faire un choix en fonction des fonctionnalités que vous recherchez.
NOTE: Ce guide n'est pas une amorce sur aucune des technologies mentionnées ci-dessus. C'est simplement un aperçu de ce que l'on peut offrir par rapport à l'autre.
Commençons:
Sockets websockets
WebSocket est un protocole standard qui fournit une connexion persistante entre un serveur et un client. Les lignes WebSockets sont bidirectionnelles. Cela signifie qu'un serveur et un client et envoyer et recevoir des données sont dans le même canal. Il s'agit d'un protocole de communication complet implémenté sur la prise TCP / IP.
WebSockets aide à contrer les limites du protocole HTTP.
Premièrement, le protocole HTTP n'est pas bidirectionnel. Le client demande une ressource spécifique sur le serveur. Une fois que le serveur a trouvé et envoyé la ressource au client, la connexion se ferme. Cela signifie que sur un flux de données très actif tel que le service de streaming, il y aura trop de demandes de serveur.
Contrairement à HTTP, WebSockets peut maintenir une connexion jusqu'à ce que le client ou le serveur le termine. Il fonctionne en créant d'abord une poignée de main entre le client et le serveur, suivi d'un en-tête de mise à niveau. Une fois établi, un flux de données entre le serveur et le client est établi.
Le diagramme ci-dessus illustre le fonctionnement du protocole HTTP par rapport à WebSockets.
NOTE: Les diagrammes ci-dessus ne donnent pas une connaissance pratique à part entière des protocoles HTTP ou WebSocket.
Http / 2
HTTP / 2 ou HTTP2 est la deuxième implémentation du protocole réseau HTTP utilisé pour définir le format et la transmission des données. Le but de HTTP / 2 est d'améliorer les performances par rapport à HTTP en réduisant la latence, appliquée en activant des fonctionnalités telles que la demande complète et la réaction, et la minimisation des frais généraux de protocole via la compression des fichiers d'en-tête.
HTTP / 2 est pris en charge dans les principaux navigateurs et utilisé tout autour du Web.
Voici quelques-uns des avantages offerts par HTTP / 2:
Ce qui précède est un aperçu de base des caractéristiques du protocole HTTP / 2. Vous trouverez ci-dessous une simple illustration du protocole HTTP.
Crédit: Mozilla Developer Network https: // développeur.mozilla.org / en-us / docs / web / http / aperçu
Événements de serveur
L'événement de serveur (SSES) est une technologie qui permet au client de recevoir des mises à jour d'un serveur HTTP. Bien qu'il ait toujours été possible de pousser les mises à jour du serveur vers le client, le client devrait demander si des mises à jour existent sur le serveur. À l'aide de SSE, les mises à jour sont automatiques.
Les SSE sont implémentés à l'aide de flux de données HTTP réguliers. Par conséquent, les SSE sont limités au pool de connexion du client (navigateur) de 6 connexions HTTP simultanées à un seul serveur. Cependant, ils ne fournissent pas la fonctionnalité pour détecter un client supprimé.
https: // html.spécifier.whatwg.org / multipage / serveur-événements-événements.HTML # Server-Sent-Events
Vous pouvez également trouver des ressources pour le client SSE dans les liens fournis ci-dessous:
https: // github.com / mPetazzoni / sseclient
https: // github.com / btubbs / sseclient
WebSockets vs. Http / 2 vs. SSE
Maintenant, passons au sujet et lisons les différences entre les technologies discutées.
Websocket | Http / 2 | SSE |
---|---|---|
Un duplex plein | Mi-duplex | Un duplex plein |
Bidirectionnel | L'interaction d'un client avec une méthode HTTP spécifique est requise | Unidirectionnel |
Moins de ressource | Ajout de frais généraux à la poignée de main SSL | |
Le service Push est une implémentation de base du protocole | Seulement pris en charge dans HTTP / 2 | La technologie de base |
Soutenu par des navigateurs majeurs | Prise en charge de tous les navigateurs | Tous les navigateurs ne le soutiennent pas. |
1024 connexions parallèles | 6-8 Connexions parallèles | 6 connexions parallèles |
Équilibrage de charge non standard | Équilibrage de la charge standard | Équilibrage de la charge standard |
Conclusion
Nous avons parcouru des technologies telles que les webockets, leur fonctionnement et leur implémentation. Ce didacticiel ne sert que de base aux technologies mentionnées. Considérez les ressources externes pour en savoir plus.