Junior — Middle
Quais são as principais diferenças entre os protocolos WebSocket e HTTP no contexto do funcionamento de aplicações web?
sobes.tech IA
Resposta da IA
HTTP é um protocolo de pedido-resposta, onde o cliente envia um pedido e o servidor responde, após o qual a ligação geralmente é encerrada. É adequado para páginas web padrão e APIs, onde os dados são atualizados mediante pedido.
WebSocket é um protocolo que estabelece uma ligação bidirecional permanente entre o cliente e o servidor. Após estabelecer a ligação, os dados podem ser transmitidos em ambas as direções em tempo real sem necessidade de pedidos repetidos.
Principais diferenças:
- Ligação: HTTP é unidirecional (cliente → servidor), WebSocket é bidirecional.
- Ligação: HTTP é temporária, WebSocket é permanente.
- Utilização: HTTP para pedidos padrão, WebSocket para aplicações em tempo real (chat, jogos, notificações).
Exemplo de uso de WebSocket no iOS (Swift):
let url = URL(string: "wss://example.com/socket")!
let webSocketTask = URLSession.shared.webSocketTask(with: url)
webSocketTask.resume()
// Enviar mensagem
let message = URLSessionWebSocketTask.Message.string("Hello")
webSocketTask.send(message) { error in
if let error = error {
print("Erro ao enviar: \(error)")
}
}