SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Websockets

APRESENTAÇÃO

Denis Encarnação
14/01/2012
HTTP

●

WEBSOCKETS

●

Futuro

●

Implementações

●

Tecnologias

●

Outras tecnologias existentes

●

Desvantagens

●

Resumo

●

Questões

●
HTTP/1.1
GET /tutorials/other/top-20-mysql-best-practices/ HTTP/1.1
Host: net.tutsplus.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.5)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Connection: keep-alive
Cookie: PHPSESSID=r2t5uvjq435r4q7ib3vtdjq120
Pragma: no-cache
Cache-Control: no-cache
HTTP/1.x 200 OK
Transfer-Encoding: chunked
Date: Sat, 28 Nov 2009 04:36:25 GMT
Server: LiteSpeed
Connection: close
X-Powered-By: W3 Total Cache/0.8
Pragma: public
Expires: Sat, 28 Nov 2009 05:36:25 GMT
Etag: "pub1259380237;gz"
Cache-Control: max-age=3600, public
Content-Type: text/html; charset=UTF-8
Last-Modified: Sat, 28 Nov 2009 03:50:37 GMT
X-Pingback: http://net.tutsplus.com/xmlrpc.php
Content-Encoding: gzip
Vary: Accept-Encoding, Cookie, User-Agent
HTTP/1.1
HTTP/1.1
●

Caching

●

Autenticação

●

Pipeline

●

Cookies

●

Compressão

●

Ligação Permanente
WEBSOCKETS

RFC6455
WEBSOCKETS
●

Comunicação em tempo real

●

HTTP

●

TCP

●

HTML5

●

API
WEBSOCKETS
ws://server.example.com/chat
wss://server.example.com/chat
GET /chat HTTP/1.1

HTTP/1.1 101 Switching Protocols

Host: server.example.com

Upgrade: websocket

Upgrade: websocket

Connection: Upgrade

Connection: Upgrade

Sec-WebSocket-Accept:
s3pPLMBiTxaQ9kYGzzhZRbK+xOo=

Sec-WebSocket-Key:
dGhlIHNhbXBsZSBub25jZQ==
Origin: http://example.com
Sec-WebSocket-Protocol: chat,
superchat
Sec-WebSocket-Version: 13

Sec-WebSocket-Protocol: chat
WEBSOCKETS
WEBSOCKETS
●

Comunicação em tempo real

●

HTTP

●

TCP

●

HTML5

●

API

●

Relatório de Erros
WEBSOCKETS
var connection = new WebSocket('ws://html5rocks.websocket.org/echo');
connection.onopen = function () {
connection.send('Ping');
};
connection.onerror = function (error) {
console.log('WebSocket Error ' + error);
};
connection.onmessage = function (e) {
console.log('Server: ' + e.data);
};
Futuro
●

Sem limite

●

Porta dedicada

●

Compressão dos dados

●

Binário na API
Implementações
●

Node.js

●

Tornado

●

Twisted

●

Autobahn

●

Jetty
Tecnologias
Outras Tecnologias Existentes
Outras Tecnologias Existentes
Short Polling
Outras Tecnologias Existentes
Long Polling

Comet
Reque
st

s
Respon

e

Client

Reques
t

Server
Outras Tecnologias Existentes
Long Polling

Bosh
Request

Client

Server
Outras Tecnologias Existentes
Long Polling

Bosh
Request

Reques
t

Client

Server
Response
Outras Tecnologias Existentes
Long Polling
Outras Tecnologias Existentes
Streaming
Reques
t

se
Respon
onse
Resp
onse
Resp

Client

Server
Outras Tecnologias Existentes
Server Sent Events

Content-type text/event-stream
Desvantagens
Resumo
●

●

Jogos

●

Não é necessário
hacking

Messenger

●

Leve nos dados

●

●

Documentos

Pouca latência

●

●

●

Comunicação com

Colaboração
Bilhetes Online

qualquer tecnologia
●

Extensível
Questões

Weitere ähnliche Inhalte

Was ist angesagt?

Node.JS - Workshop do básico ao avançado
Node.JS - Workshop do básico ao avançadoNode.JS - Workshop do básico ao avançado
Node.JS - Workshop do básico ao avançadoEduardo Bohrer
 
Introdução ao NodeJS
Introdução ao NodeJSIntrodução ao NodeJS
Introdução ao NodeJSGiovanni Bassi
 
Instalando Drupal, Começando do Começo
Instalando Drupal, Começando do ComeçoInstalando Drupal, Começando do Começo
Instalando Drupal, Começando do Começosauloamui
 
Multipath QUIC: A Deployable Multipath Transport Protocol
Multipath QUIC: A Deployable Multipath Transport ProtocolMultipath QUIC: A Deployable Multipath Transport Protocol
Multipath QUIC: A Deployable Multipath Transport ProtocolMatheus Donizete
 
Hackeando facebook com wireshark e cookie injector
Hackeando facebook com wireshark e cookie injectorHackeando facebook com wireshark e cookie injector
Hackeando facebook com wireshark e cookie injectorAlvaro Gomes
 
O que há de PHP e Websockets por aí?
O que há de PHP e Websockets por aí?O que há de PHP e Websockets por aí?
O que há de PHP e Websockets por aí?Marianna Cruz Teixeira
 
Fisl 16 - WordPress vs Hacker - Descubra o que ainda é preciso saber para bl...
Fisl 16 - WordPress vs Hacker - Descubra o que ainda é preciso saber para bl...Fisl 16 - WordPress vs Hacker - Descubra o que ainda é preciso saber para bl...
Fisl 16 - WordPress vs Hacker - Descubra o que ainda é preciso saber para bl...As Zone
 
Introdução ao Node.js - FATEC SP
Introdução ao Node.js - FATEC SPIntrodução ao Node.js - FATEC SP
Introdução ao Node.js - FATEC SPArthur Fücher
 
Hackeando facebook com wireshark e cookie injector
Hackeando facebook com wireshark e cookie injectorHackeando facebook com wireshark e cookie injector
Hackeando facebook com wireshark e cookie injectorAlvaro Gomes
 
Uma visão rápida sobre Nodejs
Uma visão rápida sobre NodejsUma visão rápida sobre Nodejs
Uma visão rápida sobre NodejsRafael Soares
 
Node.js, Uma breve introdução
Node.js, Uma breve introduçãoNode.js, Uma breve introdução
Node.js, Uma breve introduçãoPablo Feijó
 
Nodejs - A performance que eu sempre quis ter
Nodejs - A performance que eu sempre quis terNodejs - A performance que eu sempre quis ter
Nodejs - A performance que eu sempre quis terEmerson Macedo
 
GDG Conf Node JS sem segredos
GDG Conf Node JS sem segredosGDG Conf Node JS sem segredos
GDG Conf Node JS sem segredosCaio Cutrim
 
Brutos Framework (Java WEB MVC)
Brutos Framework (Java WEB MVC)Brutos Framework (Java WEB MVC)
Brutos Framework (Java WEB MVC)Afonso Brandão
 
Nodejs justdigital
Nodejs justdigitalNodejs justdigital
Nodejs justdigitalJust Digital
 
Palestra - Flisol DF 2015 - WordPress vs Hacker . Blindando seu WordPress
Palestra - Flisol DF 2015 - WordPress vs Hacker . Blindando seu WordPressPalestra - Flisol DF 2015 - WordPress vs Hacker . Blindando seu WordPress
Palestra - Flisol DF 2015 - WordPress vs Hacker . Blindando seu WordPressAs Zone
 

Was ist angesagt? (19)

Node.JS - Workshop do básico ao avançado
Node.JS - Workshop do básico ao avançadoNode.JS - Workshop do básico ao avançado
Node.JS - Workshop do básico ao avançado
 
Introdução ao NodeJS
Introdução ao NodeJSIntrodução ao NodeJS
Introdução ao NodeJS
 
Instalando Drupal, Começando do Começo
Instalando Drupal, Começando do ComeçoInstalando Drupal, Começando do Começo
Instalando Drupal, Começando do Começo
 
Introdução ao Nodejs
Introdução ao NodejsIntrodução ao Nodejs
Introdução ao Nodejs
 
Multipath QUIC: A Deployable Multipath Transport Protocol
Multipath QUIC: A Deployable Multipath Transport ProtocolMultipath QUIC: A Deployable Multipath Transport Protocol
Multipath QUIC: A Deployable Multipath Transport Protocol
 
Hackeando facebook com wireshark e cookie injector
Hackeando facebook com wireshark e cookie injectorHackeando facebook com wireshark e cookie injector
Hackeando facebook com wireshark e cookie injector
 
O que há de PHP e Websockets por aí?
O que há de PHP e Websockets por aí?O que há de PHP e Websockets por aí?
O que há de PHP e Websockets por aí?
 
Php WatchDog
Php WatchDogPhp WatchDog
Php WatchDog
 
Fisl 16 - WordPress vs Hacker - Descubra o que ainda é preciso saber para bl...
Fisl 16 - WordPress vs Hacker - Descubra o que ainda é preciso saber para bl...Fisl 16 - WordPress vs Hacker - Descubra o que ainda é preciso saber para bl...
Fisl 16 - WordPress vs Hacker - Descubra o que ainda é preciso saber para bl...
 
Introdução ao Node.js - FATEC SP
Introdução ao Node.js - FATEC SPIntrodução ao Node.js - FATEC SP
Introdução ao Node.js - FATEC SP
 
Hackeando facebook com wireshark e cookie injector
Hackeando facebook com wireshark e cookie injectorHackeando facebook com wireshark e cookie injector
Hackeando facebook com wireshark e cookie injector
 
Uma visão rápida sobre Nodejs
Uma visão rápida sobre NodejsUma visão rápida sobre Nodejs
Uma visão rápida sobre Nodejs
 
Node.js, Uma breve introdução
Node.js, Uma breve introduçãoNode.js, Uma breve introdução
Node.js, Uma breve introdução
 
Nodejs - A performance que eu sempre quis ter
Nodejs - A performance que eu sempre quis terNodejs - A performance que eu sempre quis ter
Nodejs - A performance que eu sempre quis ter
 
GDG Conf Node JS sem segredos
GDG Conf Node JS sem segredosGDG Conf Node JS sem segredos
GDG Conf Node JS sem segredos
 
Conceitos de Ajax
Conceitos de AjaxConceitos de Ajax
Conceitos de Ajax
 
Brutos Framework (Java WEB MVC)
Brutos Framework (Java WEB MVC)Brutos Framework (Java WEB MVC)
Brutos Framework (Java WEB MVC)
 
Nodejs justdigital
Nodejs justdigitalNodejs justdigital
Nodejs justdigital
 
Palestra - Flisol DF 2015 - WordPress vs Hacker . Blindando seu WordPress
Palestra - Flisol DF 2015 - WordPress vs Hacker . Blindando seu WordPressPalestra - Flisol DF 2015 - WordPress vs Hacker . Blindando seu WordPress
Palestra - Flisol DF 2015 - WordPress vs Hacker . Blindando seu WordPress
 

Ähnlich wie Websockets: Comunicação em Tempo Real

Criando um Website Cacheavel
Criando um Website CacheavelCriando um Website Cacheavel
Criando um Website CacheavelLucas Brasilino
 
Escalando aplicação Python usando Getup OpenShift
Escalando aplicação Python usando Getup OpenShiftEscalando aplicação Python usando Getup OpenShift
Escalando aplicação Python usando Getup OpenShiftGetup Cloud
 
Aula05 camada de aplicação
Aula05 camada de aplicaçãoAula05 camada de aplicação
Aula05 camada de aplicaçãoTiago Tda
 
PaaS - OpenShift como plataforma pública
PaaS - OpenShift como plataforma públicaPaaS - OpenShift como plataforma pública
PaaS - OpenShift como plataforma públicaGetup Cloud
 
Instalando um servidor virtual Linux on z (Red hat ou SUSE) no emulador z pdt
Instalando um servidor virtual Linux on z (Red hat ou SUSE) no emulador z pdtInstalando um servidor virtual Linux on z (Red hat ou SUSE) no emulador z pdt
Instalando um servidor virtual Linux on z (Red hat ou SUSE) no emulador z pdtAnderson Bassani
 
Introdução a Microservices com Node.JS
Introdução  a Microservices com Node.JSIntrodução  a Microservices com Node.JS
Introdução a Microservices com Node.JSEduardo Nunes Pereira
 
Performance web - Como deixar a sua aplicação rápida, fazendo seus usuári...
Performance web - Como deixar a sua aplicação rápida, fazendo seus usuári...Performance web - Como deixar a sua aplicação rápida, fazendo seus usuári...
Performance web - Como deixar a sua aplicação rápida, fazendo seus usuári...minastestingconference
 
gRPC: Por que você ainda usa REST?
gRPC: Por que você ainda usa REST?gRPC: Por que você ainda usa REST?
gRPC: Por que você ainda usa REST?Yago Tomé
 
OWASP AppSec 2010 BRAZIL Information Extraction Art of Testing Network Periph...
OWASP AppSec 2010 BRAZIL Information Extraction Art of Testing Network Periph...OWASP AppSec 2010 BRAZIL Information Extraction Art of Testing Network Periph...
OWASP AppSec 2010 BRAZIL Information Extraction Art of Testing Network Periph...Mauro Risonho de Paula Assumpcao
 
Apresentação zend framework 2 parte 1
Apresentação zend framework 2   parte 1 Apresentação zend framework 2   parte 1
Apresentação zend framework 2 parte 1 Edgar Dantas
 
Xdebug seus problemas acabaram - tdc floripa 2017
Xdebug   seus problemas acabaram - tdc floripa 2017Xdebug   seus problemas acabaram - tdc floripa 2017
Xdebug seus problemas acabaram - tdc floripa 2017Vitor Mattos
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...tdc-globalcode
 
Aula 01 - Programação Web - PHP
Aula 01  - Programação Web - PHPAula 01  - Programação Web - PHP
Aula 01 - Programação Web - PHPDalton Martins
 
Introdução Programação de Aplicações Web
Introdução Programação de Aplicações WebIntrodução Programação de Aplicações Web
Introdução Programação de Aplicações WebDiogo Benicá
 
Um milhao de usuários simultâneos
Um milhao de usuários simultâneosUm milhao de usuários simultâneos
Um milhao de usuários simultâneosFernando Ike
 
Opennebula instalação
Opennebula instalaçãoOpennebula instalação
Opennebula instalaçãoLuís Eduardo
 
Java ee com apache tom ee e tomee+ tdc - 2014
Java ee com apache tom ee e tomee+   tdc - 2014Java ee com apache tom ee e tomee+   tdc - 2014
Java ee com apache tom ee e tomee+ tdc - 2014Daniel Cunha
 

Ähnlich wie Websockets: Comunicação em Tempo Real (20)

Criando um Website Cacheavel
Criando um Website CacheavelCriando um Website Cacheavel
Criando um Website Cacheavel
 
Como funciona a internet
Como funciona a internetComo funciona a internet
Como funciona a internet
 
Escalando aplicação Python usando Getup OpenShift
Escalando aplicação Python usando Getup OpenShiftEscalando aplicação Python usando Getup OpenShift
Escalando aplicação Python usando Getup OpenShift
 
Aula05 camada de aplicação
Aula05 camada de aplicaçãoAula05 camada de aplicação
Aula05 camada de aplicação
 
PaaS - OpenShift como plataforma pública
PaaS - OpenShift como plataforma públicaPaaS - OpenShift como plataforma pública
PaaS - OpenShift como plataforma pública
 
Rest workshop
Rest workshopRest workshop
Rest workshop
 
Instalando um servidor virtual Linux on z (Red hat ou SUSE) no emulador z pdt
Instalando um servidor virtual Linux on z (Red hat ou SUSE) no emulador z pdtInstalando um servidor virtual Linux on z (Red hat ou SUSE) no emulador z pdt
Instalando um servidor virtual Linux on z (Red hat ou SUSE) no emulador z pdt
 
Introdução a Microservices com Node.JS
Introdução  a Microservices com Node.JSIntrodução  a Microservices com Node.JS
Introdução a Microservices com Node.JS
 
Performance web - Como deixar a sua aplicação rápida, fazendo seus usuári...
Performance web - Como deixar a sua aplicação rápida, fazendo seus usuári...Performance web - Como deixar a sua aplicação rápida, fazendo seus usuári...
Performance web - Como deixar a sua aplicação rápida, fazendo seus usuári...
 
gRPC: Por que você ainda usa REST?
gRPC: Por que você ainda usa REST?gRPC: Por que você ainda usa REST?
gRPC: Por que você ainda usa REST?
 
OWASP AppSec 2010 BRAZIL Information Extraction Art of Testing Network Periph...
OWASP AppSec 2010 BRAZIL Information Extraction Art of Testing Network Periph...OWASP AppSec 2010 BRAZIL Information Extraction Art of Testing Network Periph...
OWASP AppSec 2010 BRAZIL Information Extraction Art of Testing Network Periph...
 
Apresentação zend framework 2 parte 1
Apresentação zend framework 2   parte 1 Apresentação zend framework 2   parte 1
Apresentação zend framework 2 parte 1
 
Xdebug seus problemas acabaram - tdc floripa 2017
Xdebug   seus problemas acabaram - tdc floripa 2017Xdebug   seus problemas acabaram - tdc floripa 2017
Xdebug seus problemas acabaram - tdc floripa 2017
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
 
HTTP 2
HTTP 2HTTP 2
HTTP 2
 
Aula 01 - Programação Web - PHP
Aula 01  - Programação Web - PHPAula 01  - Programação Web - PHP
Aula 01 - Programação Web - PHP
 
Introdução Programação de Aplicações Web
Introdução Programação de Aplicações WebIntrodução Programação de Aplicações Web
Introdução Programação de Aplicações Web
 
Um milhao de usuários simultâneos
Um milhao de usuários simultâneosUm milhao de usuários simultâneos
Um milhao de usuários simultâneos
 
Opennebula instalação
Opennebula instalaçãoOpennebula instalação
Opennebula instalação
 
Java ee com apache tom ee e tomee+ tdc - 2014
Java ee com apache tom ee e tomee+   tdc - 2014Java ee com apache tom ee e tomee+   tdc - 2014
Java ee com apache tom ee e tomee+ tdc - 2014
 

Websockets: Comunicação em Tempo Real