HTTP OPTIONS em APIs RESTful
Gabarito: letra E. O verbo HTTP OPTIONS tem a finalidade de consultar quais opções de comunicação (métodos HTTP permitidos, cabeçalhos suportados, etc.) estão disponíveis para um recurso específico no servidor. É um método de descoberta, essencial para APIs RESTful que seguem o princípio HATEOAS (Hypermedia as the Engine of Application State).
A banca testa o conhecimento da semântica padrão dos métodos HTTP definidos na RFC 7231 (e posteriores). A pegadinha clássica é confundir OPTIONS com HEAD (alternativa A), que retorna apenas os cabeçalhos de GET sem o corpo.
Alternativa A — ❌ Incorreta
Essa descrição corresponde ao verbo HEAD, não ao OPTIONS. HEAD retorna exatamente os mesmos cabeçalhos que GET retornaria, mas sem o corpo da resposta. OPTIONS, por sua vez, retorna informações sobre as opções de comunicação, como os métodos HTTP permitidos no recurso.
Alternativa B — ❌ Incorreta
OPTIONS não altera configurações do servidor. É um método seguro (não produz efeitos colaterais) e idempotente. Alterar configurações não faz parte da semântica de nenhum método HTTP padrão semântica — isso seria feito por mecanismos administrativos fora do protocolo.
Alternativa C — ❌ Incorreta
Efetuar modificações parciais em um recurso é função do verbo PATCH. OPTIONS é um método de consulta, não de modificação.
Alternativa D — ❌ Incorreta
Obter um grupo de recursos sem informar identificador específico é tipicamente feito com GET em uma URL de coleção (ex.: GET /usuarios). OPTIONS não é usado para listar recursos, mas para descobrir opções de comunicação sobre um recurso ou sobre o servidor inteiro (quando aplicado a *).
Alternativa E — ✅ Correta ⟵ GABARITO
O propósito do OPTIONS é justamente "obter informações sobre opções de comunicação disponíveis para um recurso". A resposta típica inclui o cabeçalho Allow listando os métodos HTTP suportados (GET, POST, PUT, DELETE, etc.), além de outros cabeçalhos como Accept-Patch, Accept-Post, etc. É um método indispensável para a descoberta dinâmica de capacidades em APIs RESTful.
Gabarito: letra E.