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]








































































Implementation status
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




  1. http://websocket.org/


  2. http://dev.w3.org/html5/websockets/


  3. 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)


  4. http://datatracker.ietf.org/doc/draft-abarth-thewebsocketprotocol/


  5. IANA Uniform Resource Identifer (URI) Schemes


  6. http://tools.ietf.org/html/draft-hixie-thewebsocketprotocol


  7. socket/ When can I use - Compatibility tables for support of HTML5, CSS3, SVG and more in desktop and mobile browsers.


  8. «WebSockets (support in Firefox)». Developer.mozilla.org. 30 de setembro de 2011. Consultado em 10 de dezembro de 2011 


  9. «Bug 640003 - WebSockets - upgrade to ietf-06». Bugzilla.mozilla.org. Consultado em 10 de dezembro de 2011 


  10. WebSockets - upgrade to ietf-07>


  11. «Chromium bug 64470». Code.google.com. 25 de novembro de 2010. Consultado em 10 de dezembro de 2011 


  12. «WebSockets in Windows Consumer Preview». IE Engineering Team. 19 de março de 2012. Consultado em 23 de julho de 2012 


  13. «WebKit Changeset 97247: WebSocket: Update WebSocket protocol to hybi-17». Trac.webkit.org. Consultado em 10 de dezembro de 2011 


  14. «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 


  15. https://www.html5rocks.com/pt/tutorials/websockets/basics/


  16. http://socket.io/


  17. https://github.com/Worlize/WebSocket-Node


  18. https://github.com/einaros/ws


  19. http://www.eclipse.org/jetty/


  20. http://github.com/igrigorik/em-websocket


  21. http://code.google.com/p/pywebsocket/


  22. https://github.com/michilu/shirasu


  23. http://git.warmcat.com/cgi-bin/cgit/libwebsockets/


  24. http://superwebsocket.codeplex.com/







Ícone de esboço
Este artigo sobre Internet é um esboço relacionado ao Projeto Internet. Você pode ajudar a Wikipédia expandindo-o.



Popular posts from this blog

Mouse cursor on multiple screens with different PPI

Agildo Ribeiro

Sometime when accessing a menu: “Ubuntu 16.04 has experienced an internal error”