Questão de Redes de Computadores — Acesso Remoto (VNC, TeamViewer, RPC, etc.) — CESPE / CEBRASPE 2024
- Código
- ce403999
- Banca
- CESPE / CEBRASPE
- Órgão
- BACEN
- Ano
- 2024
- Cargo
- Ana ( )
- CCerto
- EErrado
GabaritoC — Certo
Gabarito: ✅ CERTO. A afirmação está correta: o gRPC, framework de chamada de procedimento remoto (RPC) desenvolvido pelo Google, utiliza o HTTP/2 como protocolo de transporte subjacente. Essa é uma característica fundamental da arquitetura do gRPC, que aproveita os recursos do HTTP/2, como multiplexação de streams, compressão de cabeçalhos e comunicação bidirecional, para oferecer comunicação eficiente entre serviços.
O gRPC é um framework de RPC (Remote Procedure Call) de código aberto que permite que um programa execute um procedimento em outro computador como se fosse uma chamada local. Ele é amplamente utilizado em arquiteturas de microsserviços e em sistemas distribuídos. A escolha do HTTP/2 como transporte não é acidental: o HTTP/2 introduziu melhorias significativas em relação ao HTTP/1.1, como a multiplexação de múltiplas requisições em uma única conexão TCP, o que reduz a latência e melhora a utilização da rede. Além disso, o HTTP/2 suporta comunicação bidirecional (server push) e permite o envio de dados em binário, o que é essencial para a serialização eficiente de mensagens em formatos como o Protocol Buffers (protobuf), usado pelo gRPC.
Na prática, quando um cliente gRPC faz uma chamada a um servidor, a mensagem é serializada em formato binário (protobuf) e enviada através de uma conexão HTTP/2. O servidor, por sua vez, processa a requisição e envia a resposta também via HTTP/2. Essa abordagem difere de outras tecnologias de RPC, como o CORBA ou o Java RMI, que utilizam protocolos próprios, e também do REST, que tradicionalmente usa HTTP/1.1 com JSON ou XML. A adoção do HTTP/2 pelo gRPC é um dos motivos de sua alta performance e popularidade em ambientes de nuvem e microsserviços.
A pegadinha que a banca pode explorar é a confusão entre o gRPC e outros protocolos de comunicação. Por exemplo, o REST (Representational State Transfer) é um estilo arquitetural que geralmente usa HTTP/1.1, enquanto o gRPC usa HTTP/2. Além disso, é comum confundir o gRPC com o SOAP (Simple Object Access Protocol), que usa XML e pode ser transportado por HTTP, mas não é baseado em HTTP/2. Outra confusão possível é pensar que o gRPC usa TCP diretamente, sem uma camada de aplicação, o que não é verdade, pois o HTTP/2 é justamente essa camada.
Guarde a distinção central: o gRPC é um framework de RPC que depende do HTTP/2 para funcionar, enquanto o REST é um estilo arquitetural que geralmente usa HTTP/1.1. Essa é a fronteira que a questão explora, e é nela que o candidato deve se apoiar para responder corretamente.
A afirmação está correta. O gRPC foi projetado para operar sobre HTTP/2, utilizando seus recursos de multiplexação, compressão de cabeçalhos e comunicação bidirecional. Essa é uma característica definidora do protocolo, amplamente documentada na especificação oficial do gRPC. O HTTP/2 é o transporte padrão e obrigatório para o gRPC, não havendo suporte para HTTP/1.1 ou outros protocolos de transporte na implementação padrão.
A afirmação está incorreta porque o gRPC utiliza o HTTP/2 como protocolo de transporte. A banca tenta confundir o candidato ao afirmar que o gRPC não usa HTTP/2, mas a realidade é exatamente o oposto. O HTTP/2 é um componente essencial da arquitetura do gRPC, permitindo comunicação eficiente e de baixa latência entre serviços. Portanto, a alternativa E está errada, e a correta é a C.
Gabarito: letra C
Link permanente: /questoes/ce403999