Uma API HTTP oferece operações para consultar um equipamen...

Próximas questões
Com base no mesmo assunto
Q4378052 Arquitetura de Software
Uma API HTTP oferece operações para consultar um equipamento, cadastrar um novo item e substituir integralmente determinado cadastro. Durante os testes, uma requisição de consulta estava alterando deliberadamente o estado do recurso, e a equipe passou a discutir idempotência. Assinale a afirmação incorreta. 
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Gabarito: D

Fundamento decisivo: Como o enunciado trata da repetição de requisições, aplica-se o critério da RFC 9110, seção 9.2.2: comparar o efeito pretendido das requisições repetidas ao de uma única. D acrescenta uma exigência de execução única e, por isso, é a afirmação incorreta.

Tema central: Idempotência dos métodos HTTP
Análise das alternativas
A
Errada
Não deve ser marcada, pois descreve corretamente a semântica de GET. Esse método é seguro e destinado à leitura; usá-lo para alterar deliberadamente o estado do recurso contraria essa finalidade. A distinção está na alteração pretendida pela requisição: isso não equivale a afirmar que GET impeça quaisquer efeitos colaterais.
B
Errada
Não deve ser marcada, pois POST contempla criação ou processamento e não possui garantia geral de idempotência. A alternativa caracteriza corretamente o método sem afirmar que toda operação realizada com POST seja necessariamente não idempotente: um comportamento particular idempotente não muda a classificação geral do método.
C
Errada
Não deve ser marcada, pois PUT cria ou substitui o estado do recurso no URI indicado e é idempotente quando utilizado conforme essa semântica. Repetir a mesma requisição mantém a equivalência do efeito pretendido em relação a uma única execução. A possibilidade de respostas sucessivas diferentes não contradiz essa propriedade.
D
Certa
D é a alternativa a marcar porque apresenta uma definição falsa de idempotência. O conceito trata da equivalência do efeito pretendido, não da quantidade de execuções permitidas: a requisição pode ser repetida sem que isso implique um efeito pretendido adicional em relação à execução única. Portanto, a idempotência não impõe ao protocolo a rejeição de requisições repetidas. Também não exige respostas idênticas, pois o critério recai sobre o efeito no servidor, e não sobre todos os aspectos da resposta.
E
Errada
Não deve ser marcada, pois as semânticas padronizadas dos métodos orientam o comportamento de clientes e intermediários. Empregá-las de maneira coerente permite que esses participantes interpretem as operações segundo regras conhecidas, contribuindo para a previsibilidade das integrações. A alternativa afirma uma contribuição, não uma garantia absoluta de comportamento.
Pegadinha da questão
A expressão “só pode ser executada uma vez” transforma indevidamente a idempotência em uma restrição ao número de repetições.
Dica para questões semelhantes
  • Ao avaliar uma operação HTTP, separe duas perguntas: a alteração de estado é pretendida pela requisição? Repetir a mesma requisição mantém o efeito pretendido equivalente ao de uma execução? Elas verificam, respectivamente, segurança e idempotência.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo