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.