Questão de Redes de Computadores — HTTP — CESPE / CEBRASPE 2024
- Código
- ce403997
- Banca
- CESPE / CEBRASPE
- Órgão
- BACEN
- Ano
- 2024
- Cargo
- Ana ( )
- CCerto
- EErrado
GabaritoE — Errado
Gabarito: letra E (ERRADO). O WebSocket não utiliza um fluxo de bytes no lugar de um fluxo de mensagens; ao contrário, ele fornece um fluxo de mensagens (message-based) sobre uma conexão TCP, permitindo comunicação full-duplex entre cliente e servidor. A afirmação inverte o conceito: o WebSocket opera com mensagens, não com um fluxo de bytes puro.
O WebSocket é um protocolo da camada de aplicação que estabelece uma conexão TCP persistente e full-duplex entre o cliente (navegador) e o servidor. Diferentemente do HTTP tradicional, que segue o modelo requisição-resposta, o WebSocket permite que ambas as partes enviem dados a qualquer momento, sem a necessidade de uma nova requisição. Essa característica é essencial para aplicações em tempo real, como chats, jogos online e painéis de monitoramento.
A distinção fundamental está no modelo de comunicação: enquanto o TCP fornece um fluxo de bytes contínuo (stream), o WebSocket adiciona uma camada de enquadramento (framing) que organiza os dados em mensagens. Cada mensagem é delimitada por cabeçalhos que indicam o tipo (texto, binário, controle) e o tamanho. Assim, o WebSocket não substitui o fluxo de bytes por mensagens; ele constrói mensagens sobre o fluxo de bytes do TCP.
Na prática, quando um navegador estabelece uma conexão WebSocket, ele primeiro envia um handshake HTTP (upgrade) e, a partir daí, a comunicação passa a ser bidirecional. O servidor pode enviar mensagens ao cliente sem que este as solicite, e o cliente pode enviar mensagens ao servidor a qualquer momento. Essa comunicação é full-duplex, ou seja, os dois lados podem transmitir simultaneamente.
A pegadinha da banca está em inverter o papel do WebSocket: ela afirma que ele usa um fluxo de bytes no lugar de um fluxo de mensagens, quando na verdade é o oposto — o WebSocket fornece um fluxo de mensagens sobre o TCP. O candidato que confunde o WebSocket com um protocolo de transporte puro (como o TCP) tende a marcar como correto, mas o WebSocket é um protocolo de aplicação que abstrai o fluxo de bytes em mensagens.
Guarde a fronteira: TCP = fluxo de bytes; WebSocket = fluxo de mensagens sobre TCP. É exatamente nessa distinção que a questão se resolve.
A afirmação está errada porque inverte o modelo de comunicação do WebSocket. O WebSocket não utiliza um fluxo de bytes no lugar de um fluxo de mensagens; ele fornece um fluxo de mensagens sobre uma conexão TCP. O protocolo WebSocket define um enquadramento que organiza os dados em mensagens (texto ou binário), permitindo comunicação full-duplex. O fluxo de bytes é a base do TCP, não do WebSocket — o WebSocket constrói mensagens sobre esse fluxo.
Para não errar em questões sobre WebSocket, lembre-se da hierarquia: TCP fornece um fluxo de bytes; WebSocket fornece um fluxo de mensagens sobre TCP. Se a alternativa disser que o WebSocket usa bytes em vez de mensagens, está errada. O WebSocket adiciona a camada de mensagens, não a remove.
Gabarito: letra E (ERRADO).
Link permanente: /questoes/ce403997