Questão de Redes de Computadores — HTTP — VUNESP 2023
Redes de Computadores›HTTP
Código
vu197049
Banca
VUNESP
Órgão
CIJUN
Ano
2023
Cargo
Arqt ( )
Em APIs RESTful, requisições com o método HTTP PATCH têm o propósito de
Asolicitar que o servidor web seja atualizado com os patches de segurança mais recentes.
Bcriar um recurso.
Cefetuar uma atualização parcial em um recurso.
Dsolicitar que o cache de respostas do servidor seja limpo por completo.
Eefetuar uma atualização completa em um recurso.
Revelar gabarito e comentário▾
GabaritoC — efetuar uma atualização parcial em um recurso.
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Método HTTP PATCH em APIs RESTful
Gabarito: letra C. O método HTTP PATCH é utilizado para efetuar uma atualização parcial em um recurso, ou seja, modificar apenas os campos que foram enviados na requisição, sem substituir o recurso inteiro. Essa é a definição consagrada no contexto de APIs RESTful, onde o PATCH se diferencia do PUT, que realiza uma atualização completa (substituição integral do recurso).
O HTTP (Hypertext Transfer Protocol) é o protocolo de comunicação da camada de aplicação que serve de base para a World Wide Web, operando no modelo requisição-resposta entre cliente e servidor. Em uma API RESTful, os métodos HTTP indicam a ação a ser executada sobre um recurso identificado por uma URI. Os métodos mais comuns são GET (recuperar), POST (criar), PUT (atualizar completamente), DELETE (remover) e PATCH (atualizar parcialmente).
A distinção central entre PUT e PATCH é o escopo da atualização. O PUT substitui o recurso inteiro pela representação enviada no corpo da requisição — se você enviar apenas um campo, os demais serão perdidos ou redefinidos. Já o PATCH aplica uma modificação parcial, alterando somente os campos especificados, preservando o restante do recurso. Essa semântica é essencial em APIs RESTful, pois permite atualizações mais eficientes e menos propensas a erros, especialmente em recursos grandes ou com muitos campos.
Por exemplo, imagine um recurso usuário com os campos nome, email e telefone. Para alterar apenas o telefone, você poderia usar:
PUT/usuarios/1 com o corpo { "nome": "João", "email": "[email protected]", "telefone": "99999-9999" } — enviando todos os campos, mesmo que só o telefone tenha mudado.
PATCH/usuarios/1 com o corpo { "telefone": "99999-9999" } — enviando apenas o campo que será alterado.
A banca explora exatamente essa confusão entre atualização parcial (PATCH) e completa (PUT). A alternativa E tenta atrair o candidato que confunde os dois métodos. Além disso, as alternativas A, B e D são distratores que não correspondem a nenhum método HTTP padrão: atualizar patches de segurança, criar recurso (que é função do POST) e limpar cache (que não é um método HTTP).
Guarde a fronteira: PATCH = parcial, PUT = completo. É exatamente nela que as alternativas se dividem.
Métodos HTTP em APIs RESTful: GET (Recuperar recurso); POST (Criar recurso); PUT (Atualização completa (substitui)); PATCH (Atualização parcial); DELETE (Remover recurso)
Alternativa A — ❌ Incorreta
Sugere que o PATCH serve para atualizar o servidor web com patches de segurança. Isso não corresponde a nenhum método HTTP. A atualização de software do servidor é uma operação administrativa, não uma operação de API RESTful. O termo "patch" aqui é usado de forma enganosa, remetendo a "correção de segurança", mas no contexto de HTTP, PATCH é um método de modificação de recursos.
Alternativa B — ❌ Incorreta
Afirma que o PATCH cria um recurso. A criação de recursos em APIs RESTful é feita pelo método POST (ou, em alguns casos, pelo PUT quando o cliente define o URI). O PATCH não cria recursos; ele modifica um recurso existente de forma parcial.
Alternativa C — ✅ Correta ⟵ GABARITO
O PATCH efetua uma atualização parcial em um recurso. Essa é a definição padrão do método, conforme a RFC 5789 e o uso consagrado em APIs RESTful. Ele permite modificar apenas os campos enviados, sem substituir o recurso inteiro.
Alternativa D — ❌ Incorreta
Afirma que o PATCH limpa o cache de respostas do servidor. Não existe um método HTTP dedicado para limpar cache. O controle de cache é feito por meio de cabeçalhos HTTP (como Cache-Control, Expires, ETag) e pelo método GET condicional (com If-Modified-Since), não por um método de requisição específico.
Alternativa E — ❌ Incorreta
Afirma que o PATCH efetua uma atualização completa em um recurso. Essa é a função do método PUT, que substitui integralmente o recurso pela representação enviada. O PATCH, ao contrário, realiza uma atualização parcial, alterando apenas os campos especificados.
NÃO CAIA NESSA!
A banca troca os papéis de PATCH e PUT. O candidato que memoriza "PATCH = atualizar" sem distinguir o escopo acaba marcando a letra E. Lembre-se: PATCH é parcial, PUT é completo. Essa é a armadilha clássica desta questão.
PEGA ESSA DICA!
Para fixar, associe a letra inicial: PATCH = Parcial; PUT = Preenche tudo (substitui). Na prova, se a alternativa falar em "atualização parcial", é PATCH; se falar em "atualização completa" ou "substituição", é PUT.