Depuis sgcWebSockets 4.4.3, HTTP/2 est initialement pris en charge et de nouvelles fonctionnalités seront ajoutées dans les prochaines versions. Dans un précédent article, nous avons comparé les performances entre HTTP 1.1 et HTTP/2 : pour cela, j'ai utilisé le client HTTP/2 de sgcWebSockets qui téléchargeait 100 images depuis les serveurs imagekit.io.
Client HTTP/2

Le client HTTP/2 de sgcWebSockets a été modifié pour permettre l'url depuis laquelle tu te connecteras pour télécharger les images JPEG. Il y a maintenant 2 urls :
- https://ik.imagekit.io
- https://127.0.0.1:5450
C'est la seconde que je choisis pour faire les tests : il s'agit d'un serveur HTTP/2 local construit avec la bibliothèque sgcWebSockets.
Serveur HTTP/2

Un nouvel exemple de serveur HTTP/2 a été construit avec la bibliothèque sgcWebSockets : c'est le serveur que je vais utiliser pour comparer les performances des deux protocoles. Pour tester, il suffit d'ouvrir l'exécutable : il commencera à écouter sur le port 5450 et localhost.
HTTP 1.1 vs HTTP/2
Si je démarre le test sur le composant client, tu verras la grande différence entre HTTP 1.1 et HTTP/2. Le protocole HTTP/2 ne prend presque rien pour télécharger les 100 images, tandis que le protocole HTTP 1.1 prend beaucoup plus de temps parce qu'il doit à chaque fois ouvrir une nouvelle connexion, télécharger, attendre, fermer et recommencer. HTTP/2 utilise la même connexion pour gérer toutes les requêtes, qui sont traitées de façon asynchrone.

