Przejdź do zawartości

Wikipedysta:Szymon9/brudnopis/WebSocket

Z Wikipedii, wolnej encyklopedii

WebSocket – komputerowy protokół komunikacyjny zapewniająca dwukierunkowy kanał komunikacji za pośrednictwem jednego gniazda TCP. Stworzono ją do komunikacji przeglądarki internetowej z serwerem internetowym, ale równie dobrze może zostać użyta w innych aplikacjach typu klient lub serwer. Została ustandaryzowana przez Internet Engineering Task Force w Request for Comments 6455[1] w 2011 roku, a interfejs WebSocket w Web IDL jest standaryzowany przez World Wide Web Consortium.

WebSocket jest protokołem różnym od HTTP. Obydwa protokoły umieszcza się w 7. warstwie modelu OSI, więc jednocześnie zależą od 4. warstwy modelu TCP/IP. Mimo, że wspomniane protokoły różnią się, wg dokumentu I. Fette, A. Melnikov, The WebSocket Protocol, RFC 6455, IETF, grudzień 2011, DOI10.17487/RFC6455, ISSN 2070-1721, OCLC 943595667 (ang.). WebSocket „jest zaprojektowany do działania na portach HTTP 80 i 443 oraz do wspierania serwerów pośredniczących oraz pośredników HTTP”, co czyni go kompatybilnym z protokołem HTTP. W celu osiągnięcia kompatybilności, handshake WebSocketa wykorzystuje nagłówek HTTP „Upgrade”[1] do przełączenia z protokołu HTTP na WebSocket.

Protokół WebSocket umożliwia interakcję między klientem sieciowym, np. przeglądarką internetową, a serwerem sieciowym z małymi narzutami, przyspiesza w czasie rzeczywistym przesyłanie danych z oraz do serwera. Jest to możliwe dzięki udostępnieniu serwerowi ujednoliconej metody przesyłania zawartości do klienta bez konieczności oczekiwania na zapytanie klienta oraz umożliwieniu przesyłania wiadomości w obydwie strony przy jednoczesnym utrzymaniu otwartego połączenia. W ten sposób możliwa jest dwukierunkowa komunikacja między klientem a serwerem. Przesył danych odbywa się przy użyciu portów TCP 80, a w przypadku połączenia szyfrowanego TLS 443, dzięki czemu może on odbywać się w sieciach, w których inne porty są blokowane przy użyciu zapory sieciowej. Zostały opracowane podobne dwukierunkowe, prowizorycznie i nieustandaryzowane sposoby komunikacji między przeglądarką a serwerem, np. Comet.

Przeglądarki wspierające WebSocket

[edytuj | edytuj kod]

WebSocket został zaimplementowany w przeglądarkach: Firefox 4, Google Chrome 4, Opera 11, Internet Explorer 10 oraz Safari 5 (również w mobilnym Safari dla iOS 4.2). Z powodu luk w zabezpieczeniach WebSocket został domyślnie wyłączony w Firefoksie 4 i Operze 11 do czasu ich naprawienia[2][3] Aktualnie wszystkie najpopularniejsze przeglądarki wspierają tę technologię[4].

Układ URL

[edytuj | edytuj kod]

Specyfikacja WebSocket definiuje dwa nowe URI, ws: i wss:, dla nieszyfrowanych i szyfrowanych połączeń.

Zobacz też

[edytuj | edytuj kod]

Przypisy

[edytuj | edytuj kod]
  1. a b I. Fette, A. Melnikov, The WebSocket Protocol, RFC 6455, IETF, grudzień 2011, DOI10.17487/RFC6455, ISSN 2070-1721, OCLC 943595667 (ang.).
  2. Wpis na blogu Firefoksa dotyczący zablokowania WebSocket
  3. Wpis na blogu Opery dotyczący zablokowania WebSocket
  4. Can I use Web Sockets [online], caniuse.com [dostęp 2017-11-15] (ang.).

Kategoria:Uniform Resource Identifier