Od sgcWebSockets 4.4.3 protokół HTTP/2 jest wstępnie obsługiwany, a nowe funkcje będą dodawane w kolejnych wersjach. W poprzednim wpisie porównaliśmy wydajność protokołów HTTP 1.1 i HTTP/2 — w tym celu użyłem klienta HTTP/2 sgcWebSockets, który pobrał 100 obrazów z serwerów imagekit.io.
Klient HTTP/2

Klient HTTP/2 sgcWebSockets został zmodyfikowany, aby umożliwić wybór adresu URL, z którym łączysz się w celu pobrania obrazów JPEG. Teraz są 2 adresy URL:
- https://ik.imagekit.io
- https://127.0.0.1:5450
Drugi z nich wybieram do testów — jest to lokalny serwer HTTP/2 zbudowany z użyciem biblioteki sgcWebSockets.
Serwer HTTP/2

Nowy przykład serwera HTTP/2 został zbudowany z użyciem biblioteki sgcWebSockets — to właśnie tego serwera użyję do porównania wydajności obu protokołów. Aby przetestować, wystarczy uruchomić plik wykonywalny — zacznie nasłuchiwać na porcie 5450 na localhost.
HTTP 1.1 vs HTTP/2
Po uruchomieniu testu w komponencie klienta zobaczysz dużą różnicę między HTTP 1.1 a HTTP/2. Protokół HTTP/2 pobiera 100 obrazów niemal natychmiast, podczas gdy protokół HTTP 1.1 zajmuje znacznie więcej czasu, ponieważ za każdym razem musi otworzyć nowe połączenie, pobrać, poczekać, zamknąć i zacząć od nowa — natomiast HTTP/2 używa tego samego połączenia do obsługi wszystkich żądań, które są przetwarzane asynchronicznie.

