Funkce | Obousměrná komunikace přes připojení TCP pro webové prohlížeče |
---|---|
Akronym | ws |
Datum vzniku | 2011 |
Přístav | 80 a 443 |
RFC | 6455 |
Websocket je Web standardní určení síťový protokol na aplikační vrstvě a programovací rozhraní na World Wide Web pro vytvoření plně duplexní komunikační kanály přes TCP spojení pro webové prohlížeče. Protokol byl standardizován IETF v RFC 6455 v roce 2011 a programovací rozhraní W3C .
Protokol WebSocket se používá k otevření obousměrného (nebo „ plně duplexního “) komunikačního kanálu na soketu TCP pro prohlížeče a webové servery . Přesněji tedy umožňuje:
Zvyšující se interaktivita webových aplikací, následovaná zlepšením výkonu prohlížeče, rychle způsobila nutnost vyvinout obousměrné komunikační techniky mezi klientskou webovou aplikací a procesy serveru. Techniky založené na volání požadavku klientem prostřednictvím objektu XMLHttpRequest a použití požadavků HTTP s dlouhým typem TTL uloženým serverem pro následnou odpověď klientovi umožnily překonat tento nedostatek a byly popularizovány úspěšnými Ajaxovými architekturami .
Podle počítačový vědec Stéphane Bortzmeyer , „websocket proto nabízí prakticky stejné služby k aplikacím jako TCP“ , ale má tu výhodu, že obchází mnoho zprostředkující překážek do sítě toků ( firewally atd.) V „džungli“, která se stala současná Web . Pomocí architektury protokolu HTTP (relé, ověřování, porty 80 a 443), velmi malého filtrování, k vytvoření nového transportního protokolu se tvůrci Websocket snaží zajistit obousměrnou síťovou komunikaci, která již nebyla zaručena prostřednictvím TCP. Hlavní omezení Websocketu je, že nejde o obecný protokol: komunikace musí být nutně prováděna prostřednictvím webového prohlížeče klienta nebo prostřednictvím určitých specializovaných knihoven (viz část „Implementace“ ).
Programovací rozhraní WebSocket bylo vyvinuto v rámci WHATWG .
Samotný princip WebSocket byl zpochybněn v rámci specifikačních orgánů během jeho vývoje, jménem toho, že bylo pravděpodobně lepší vyřešit problémy s filtrováním nalezené v síťové vrstvě než vytvořit nový protokol nad ní. Aplikační vrstvy.
Bezpečnostní chyba byla objevena v API dřívějších verzí websocket. Zabezpečení bylo při procházení narušeno nahrazením souboru JavaScript malwarem během fáze handshake . Jelikož je tato chyba v samotném API, nemohla být opravena žádnou opravou v prohlížeči. V některých verzích prohlížečů, jako jsou Firefox 4 a 5, Opera 11 a Internet Explorer 9, byl WebSocket kvůli této chybě deaktivován.
Bezpečnostní chyba ve Firefoxu byla opravena z Firefoxu 6 (Gecko 6.0 engine).
Internet Explorer implementoval websocket s IE10.
V prohlížeči Opera bylo vždy možné websocket znovu aktivovat. Z Opery 12 se aktivuje websocket.
Vlastnosti | Chrom | Firefox (Gecko) | internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Podpora verze -76 | 6 | 4,0 (2,0) | Bez podpory | 11,00 (deaktivováno) | 5.0.1 |
Podpora protokolu verze 7 | Bez podpory | 6.0 | Bez podpory | Bez podpory | Bez podpory |
Podpora protokolu verze 10 | 14 | 7.0 | Laboratoře HTML5 | ? | ? |
Standardní - podpora RFC 6455 | 16 | 11.0 | 10 | 12.10 | 6 |