Wikipedysta:Szymon9/brudnopis/WebSocket
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, DOI: 10.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]- ↑ a b I. Fette , A. Melnikov , The WebSocket Protocol, RFC 6455, IETF, grudzień 2011, DOI: 10.17487/RFC6455, ISSN 2070-1721, OCLC 943595667 (ang.).
- ↑ Wpis na blogu Firefoksa dotyczący zablokowania WebSocket
- ↑ Wpis na blogu Opery dotyczący zablokowania WebSocket
- ↑ Can I use Web Sockets [online], caniuse.com [dostęp 2017-11-15] (ang.).