Pular para o conteúdo principal

Questão de Redes de Computadores — HTTP — VUNESP 2023

Redes de ComputadoresHTTP
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
  1. Asolicitar que o servidor web seja atualizado com os patches de segurança mais recentes.
  2. Bcriar um recurso.
  3. Cefetuar uma atualização parcial em um recurso.
  4. Dsolicitar que o cache de respostas do servidor seja limpo por completo.
  5. 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.

1GET
Recuperar recurso
2POST
Criar recurso
3PUT
Atualização completa (substitui)
4PATCH
Atualização parcial
5DELETE
Remover recurso
Métodos HTTP em APIs RESTful
LEVELsoulevel.com.br
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.

Gabarito: letra C

Link permanente: /questoes/vu197049