WebSocket
WebSocket é uma tecnologia que permite a comunicação bidirecional por canais full-duplex sobre um único soquete Transmission Control Protocol (TCP). Ele é projetado para ser executado em browsers e servidores web que suportem o HTML5,[1] mas pode ser usado por qualquer cliente ou servidor de aplicativos. A API WebSocket[2] está sendo padronizada pelo W3C[3] e o protocolo WebSocket está sendo padronizado pelo IETF.[4]
Websocket foi desenvolvido para ser implementado em browsers web e servidores web, mas pode ser usado por qualquer cliente ou aplicação servidor. O protocolo Websocket é um protocolo independente baseado em TCP. Sua única relação com o HTTP é que seu handshake é interpretado por servidores HTTP como uma requisição de Upgrade[1]..
Índice
1 Esquema de URL
2 Suporte
3 Exemplos de WebSockets[15]
4 Referências
Esquema de URL |
A especificação do protocolo WebSocket define dois tipos de esquemas de URL, ws: e wss:,[5] para conexões não criptografadas e criptografadas respectivamente. Além do esquema de nomes, o resto dos componentes da URL são definidos para usar a síntaxe genérica de URI.[6]
Suporte |
Todos os browsers mais atuais com exceção do browser Android suportam a ultima especificação do protocolo Websocket (RFC 6455). Uma suite de testes detalhados para protocolo lista[1] a conformidade destes browsers aos aspectos específicos do protocolo.
- Internet Explorer 10+
- Mozilla Firefox 4+
- Safari 5+
- Google Chrome 4+
- Opera 11+[7]
| Protocol | Draft date | Internet Explorer | Firefox[8] (PC) | Firefox (Android) | Chrome (PC, Mobile) | Safari (Mac, iOS) | Opera (PC, Mobile) | Android Browser |
|---|---|---|---|---|---|---|---|---|
hixie-75 | February 4, 2010 | 4 | 5.0.0 | |||||
hixie-76 hybi-00 | May 6, 2010 May 23, 2010 | 4.0 (disabled) | 6 | 5.0.1 | 11.00 (disabled) | |||
| 7 hybi-07 | April 22, 2011 | 6[9]1 | ||||||
| 8 hybi-10 | July 11, 2011 | 7[10]1 | 7 | 14[11] | ||||
| 13 RFC 6455 | December, 2011 | 10[12] | 11 | 11 | 16[13] | 6 | 12.10[14] |
Exemplos de WebSockets[15] |
- Node.js
Socket.IO[16]
WebSocket-Node[17]
ws[18]
- Java
Jetty[19]
- Ruby
EventMachine[20]
- Python
pywebsocket[21]
- Erlang
Shirasu[22]
- C++
libwebsockets[23]
- .NET
SuperWebSocket[24]
Referências
↑ http://websocket.org/
↑ http://dev.w3.org/html5/websockets/
↑ Ian Hickson, Google, Inc. (20 de janeiro de 2011). «The WebSocket API». 20/01/2011. Consultado em 27 de janeiro de 2011 !CS1 manut: Nomes múltiplos: lista de autores (link)
↑ http://datatracker.ietf.org/doc/draft-abarth-thewebsocketprotocol/
↑ IANA Uniform Resource Identifer (URI) Schemes
↑ http://tools.ietf.org/html/draft-hixie-thewebsocketprotocol
↑ socket/ When can I use - Compatibility tables for support of HTML5, CSS3, SVG and more in desktop and mobile browsers.
↑ «WebSockets (support in Firefox)». Developer.mozilla.org. 30 de setembro de 2011. Consultado em 10 de dezembro de 2011
↑ «Bug 640003 - WebSockets - upgrade to ietf-06». Bugzilla.mozilla.org. Consultado em 10 de dezembro de 2011
↑ WebSockets - upgrade to ietf-07>
↑ «Chromium bug 64470». Code.google.com. 25 de novembro de 2010. Consultado em 10 de dezembro de 2011
↑ «WebSockets in Windows Consumer Preview». IE Engineering Team. 19 de março de 2012. Consultado em 23 de julho de 2012
↑ «WebKit Changeset 97247: WebSocket: Update WebSocket protocol to hybi-17». Trac.webkit.org. Consultado em 10 de dezembro de 2011
↑ «A hot Opera 12.50 summer-time snapshot». Opera Developer News. Consultado em 3 de agosto de 2012. Cópia arquivada em 5 de agosto de 2012
↑ https://www.html5rocks.com/pt/tutorials/websockets/basics/
↑ http://socket.io/
↑ https://github.com/Worlize/WebSocket-Node
↑ https://github.com/einaros/ws
↑ http://www.eclipse.org/jetty/
↑ http://github.com/igrigorik/em-websocket
↑ http://code.google.com/p/pywebsocket/
↑ https://github.com/michilu/shirasu
↑ http://git.warmcat.com/cgi-bin/cgit/libwebsockets/
↑ http://superwebsocket.codeplex.com/