Samouczek WebSockets

Samouczek WebSockets

WebSockets

WebSocket to standardowy protokół, który jest w stanie zapewnić trwałe połączenie między serwerem a klientem. WebSockets są dwukierunkowe, co oznacza serwer i klient oraz wysyła i odbierają dane w tym samym kanale, protokół komunikacji pełnej dupleksu, który jest zaimplementowany w gnieździe TCP/IP.

WebSockets zostały zbudowane w celu przeciwdziałania granic protokołu HTTP.

Po pierwsze, w protokole HTTP nie jest dwukierunkowy. Klient żąda określonego zasobu na serwerze, gdy serwer znajdzie i wysyła zasób do klienta, połączenie jest zamknięte. Oznacza to, że dla bardzo aktywnego przepływu danych, takich jak usługa przesyłania strumieniowego, będzie zbyt wiele żądań na serwerze.

W przeciwieństwie do HTTP, WebSockets są w stanie utrzymać połączenie, dopóki klient lub serwer go nie zakończy. Działa poprzez najpierw tworzenie uścisku dłoni między klientem a serwerem, a następnie nagłówek aktualizacji. Po ustaleniu ustalono również przepływ danych między serwerem a klientem.

Powyższy schemat ilustruje, jak działa protokół HTTP w porównaniu z WebSockets.

Uwaga: powyższe diagramy nie dają pełnoprawnego działania protokołów HTTP lub WebSocket.