WebSockets - Funkcjonalności
Web Socket stanowi znaczącą aktualizację w historii komunikacji internetowej. Przed jego powstaniem cała komunikacja między klientami sieciowymi a serwerami opierała się wyłącznie na protokole HTTP.
Gniazdo sieci Web pomaga w dynamicznym przepływie połączeń, które są trwałe w trybie pełnego dupleksu. Pełny dupleks oznacza komunikację z obu stron ze znaczną szybkością.
Jest określany jako przełomowy ze względu na jego skuteczność w pokonywaniu wszystkich wad istniejących protokołów.
Gniazdo sieciowe dla programistów i architektów
Znaczenie gniazda sieciowego dla programistów i architektów -
Web Socket jest niezależnym protokołem opartym na TCP, ale jest zaprojektowany do obsługi każdego innego protokołu, który tradycyjnie działałby tylko na czystym połączeniu TCP.
Web Socket to warstwa transportowa, na której może działać każdy inny protokół. Interfejs API Web Socket obsługuje możliwość definiowania protokołów podrzędnych: bibliotek protokołów, które mogą interpretować określone protokoły.
Przykłady takich protokołów obejmują XMPP, STOMP i AMQP. Deweloperzy nie muszą już myśleć w kategoriach paradygmatu żądanie-odpowiedź HTTP.
Jedynym wymaganiem po stronie przeglądarki jest uruchomienie biblioteki JavaScript, która może interpretować uzgadnianie protokołu Web Socket, nawiązywać i utrzymywać połączenie Web Socket.
Po stronie serwera standardem branżowym jest używanie istniejących bibliotek protokołów, które działają na szczycie TCP i wykorzystują bramę Web Socket Gateway.
Poniższy diagram opisuje funkcjonalności gniazd sieciowych -
Połączenia typu Web Socket są inicjowane przez HTTP; Serwery HTTP zazwyczaj interpretują uzgadnianie protokołu Web Socket jako żądanie uaktualnienia.
Gniazda sieciowe mogą być zarówno dodatkowym dodatkiem do istniejącego środowiska HTTP, jak i mogą zapewnić wymaganą infrastrukturę do dodania funkcjonalności sieci Web. Opiera się na bardziej zaawansowanych protokołach pełnego dupleksu, które umożliwiają przepływ danych w obu kierunkach między klientem a serwerem.
Funkcje gniazd sieciowych
Gniazda sieciowe zapewniają połączenie między serwerem WWW a klientem, tak że obie strony mogą rozpocząć wysyłanie danych.
Kroki umożliwiające nawiązanie połączenia z gniazdem internetowym są następujące:
Klient nawiązuje połączenie za pośrednictwem procesu znanego jako uzgadnianie gniazda sieci Web.
Proces rozpoczyna się wysłaniem przez klienta zwykłego żądania HTTP do serwera.
Żądany jest nagłówek Upgrade. W tym żądaniu informuje serwer, że żądanie dotyczy połączenia przez gniazdo sieciowe.
Adresy URL gniazda sieci Web używają rozszerzenia wsschemat. Są również używane do bezpiecznych połączeń Web Socket, które są odpowiednikiem HTTPs.
Prosty przykład nagłówków początkowych żądań jest następujący -
GET ws://websocket.example.com/ HTTP/1.1
Origin: http://example.com
Connection: Upgrade
Host: websocket.example.com
Upgrade: websocket