𝗪𝗲𝗯𝗦𝗼𝗰𝗸𝗲𝘁𝘀 𝗥𝗲𝘃𝗼𝗹𝘂𝗰𝗶𝗼𝗻𝗮𝗺 𝗮 𝗪𝗲𝗯 𝗲𝗺 𝗧𝗲𝗺𝗽𝗼 𝗥𝗲𝗮𝗹
Você acompanha a atualização de um placar esportivo ao vivo sem atualizar a página. Você edita um documento com um colega de equipe e vê as alterações instantaneamente. Essas experiências acontecem por causa dos WebSockets.
WebSockets criam uma conexão constante entre um servidor e um cliente. Isso permite que ambos os lados enviem dados a qualquer momento.
O HTTP funciona como uma sessão de perguntas e respostas. Uma pessoa pergunta, e a outra responde. Os WebSockets funcionam como uma conversa de mão dupla. Ambas as pessoas falam livremente sem esperar por um comando.
Por que usar WebSockets?
- Baixa latência: Os dados se movem rapidamente com o mínimo de atraso.
- Comunicação bidirecional: Tanto o servidor quanto o cliente enviam dados instantaneamente.
- Conexão aberta: Você não precisa repetir requisições.
- Eficiência: Utiliza menos dados do que requisições HTTP constantes.
Usos comuns para WebSockets:
- Placares esportivos ao vivo e feeds de notícias.
- Preços do mercado de ações e dados financeiros.
- Aplicativos de chat como Slack ou WhatsApp.
- Jogos multiplayer e realidade virtual.
Quando escolher HTTP em vez disso:
- Seu aplicativo usa padrões simples de requisição e resposta.
- A velocidade não é sua prioridade máxima.
- Você não precisa de atualizações em tempo real.
Muitos desenvolvedores usam uma abordagem híbrida. Eles usam WebSockets para dados em tempo real e HTTP para todo o resto.
Se você construir algo com WebSockets, siga estas etapas de segurança:
- Use wss:// em vez de ws://.
- Adicione autenticação a cada conexão.
- Verifique todas as entradas de usuário para evitar ataques.
Ferramentas para ajudar você a construir:
- Socket.IO para Node.js.
- Django Channels para Python.
- Flask-SocketIO para Python.
Fonte: https://dev.to/abdullah_bajwa_2072d8a81b/websockets-revolutionize-37e8