Ab sgcWebSockets 4.4.3 wird HTTP/2 erstmals unterstützt, und in den nächsten Versionen werden neue Funktionen ergänzt. In einem früheren Blog-Beitrag haben wir die Leistung von HTTP 1.1 und HTTP/2 verglichen. Dazu nutzte ich den sgcWebSockets-HTTP/2-Client, der 100 Bilder von den imagekit.io-Servern lud.
HTTP/2-Client

Der sgcWebSockets-HTTP/2-Client wurde so erweitert, dass du die URL angeben kannst, zu der du zum Herunterladen von JPEG-Bildern verbindest. Es gibt jetzt 2 URLs:
- https://ik.imagekit.io
- https://127.0.0.1:5450
Die zweite verwende ich für die Tests — das ist ein lokaler HTTP/2-Server, der mit der sgcWebSockets-Bibliothek gebaut wurde.
HTTP/2-Server

Es wurde ein neues HTTP/2-Server-Beispiel mit der sgcWebSockets-Bibliothek erstellt — das ist der Server, mit dem ich die Leistung beider Protokolle vergleiche. Zum Testen einfach die Executable starten: Sie beginnt, auf Port 5450 und localhost zu lauschen.
HTTP 1.1 vs HTTP/2
Wenn ich den Test in der Client-Komponente starte, siehst du den großen Unterschied zwischen HTTP 1.1 und HTTP/2. Das HTTP/2-Protokoll braucht fast keine Zeit, um die 100 Bilder herunterzuladen, während HTTP 1.1 deutlich länger benötigt — es muss jedes Mal eine neue Verbindung öffnen, herunterladen, warten, schließen und wieder von vorne beginnen. HTTP/2 nutzt dagegen dieselbe Verbindung für alle Anfragen, und diese werden asynchron verarbeitet.

