Vanaf sgcWebSockets 4.4.3 wordt HTTP/2 initieel ondersteund en worden er in volgende versies nieuwe functies toegevoegd. In een eerdere blogpost vergeleken we de prestaties tussen HTTP 1.1 en HTTP/2; daarvoor gebruikte ik de sgcWebSockets HTTP/2-client, die 100 afbeeldingen downloadde van imagekit.io-servers.
HTTP/2-client

De sgcWebSockets HTTP/2-client is aangepast zodat je de URL kunt opgeven waarmee je verbindt om JPEG-afbeeldingen te downloaden. Er zijn nu 2 URL's:
- https://ik.imagekit.io
- https://127.0.0.1:5450
De tweede heb ik gekozen om de tests uit te voeren; dit is een lokale HTTP/2-server gebouwd met de sgcWebSockets-bibliotheek.
HTTP/2-server

Er is een nieuw HTTP/2-servervoorbeeld gebouwd met de sgcWebSockets-bibliotheek; dit is de server die ik zal gebruiken om de prestaties van beide protocollen te vergelijken. Om te testen open je gewoon de uitvoerbare bestanden en gaat de server luisteren op poort 5450 op localhost.
HTTP 1.1 vs HTTP/2
Als ik de test start op de clientcomponent, zie je het grote verschil tussen HTTP 1.1 en HTTP/2. Het HTTP/2-protocol heeft bijna geen tijd nodig om de 100 afbeeldingen te downloaden, terwijl het HTTP 1.1-protocol veel langer duurt omdat er telkens een nieuwe verbinding moet worden geopend om te downloaden, wachten, sluiten en opnieuw beginnen, terwijl HTTP/2 dezelfde verbinding gebruikt om alle aanvragen af te handelen en die asynchroon worden verwerkt.

