Uma aplicação mobile enviou a um gateway de APIs REST várias...
Essas solicitações idênticas resultaram em nenhuma alteração de estado do sistema de backend, a exceção da primeira solicitação que atualizou um registro no banco de dados. Nesse contexto, é correto afirmar que essa solicitação HTTP é
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
A alternativa correta é: idempotente.
Para compreender a questão, é necessário entender o conceito de idempotência no contexto dos métodos HTTP. Métodos idempotentes são aqueles que produzem o mesmo efeito no servidor, independentemente de quantas vezes uma solicitação é feita.
No enunciado, a aplicação mobile envia várias solicitações idênticas utilizando o método HTTP PUT. A primeira solicitação atualizou um registro no banco de dados, enquanto as subsequentes não causaram nenhuma alteração adicional no estado do sistema de backend. Isso caracteriza o comportamento idempotente.
Vamos analisar as alternativas:
A - acoplada. Este termo refere-se à dependência entre componentes de um sistema, não sendo o caso aqui.
B - balanceada. O balanceamento de carga distribui solicitações entre múltiplos servidores, mas não tem relação com a idempotência.
C - full-duplex. Este termo é usado em redes de comunicação para descrever a capacidade de transmissão bidirecional simultânea, não pertinente ao contexto dos métodos HTTP.
D - idempotente. Como explicado, um método HTTP idempotente garante que múltiplas solicitações idênticas resultarão no mesmo estado do sistema, confirmando que PUT é idempotente. Portanto, esta é a alternativa correta.
E - segura. Um método HTTP seguro não altera o estado do recurso no servidor, como o método GET. O método PUT não é considerado seguro, pois ele pode alterar o estado de um recurso.
Em resumo, a alternativa correta é D - idempotente, pois descreve precisamente o comportamento do método HTTP PUT conforme descrito no enunciado da questão.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
Um método HTTP é idempotente se uma requisição indicadora pode ser feita uma ou mais vezes em sequência com o mesmo efeito enquanto deixa o servidor no mesmo estado. Em outras palavras, um método idempotente não deveria possuir nenhum efeito colateral (exceto para manter estatísticas).
Descrição de métodos idempotentes comuns: GET, HEAD, PUT, DELETE, OPTIONS, TRACE.
Descrição de métodos não idempotentes comuns: POST, PATCH, CONNECT.
Fonte: https://developer.mozilla.org/pt-BR/docs/Glossary/Idempotent
O HTTP (Hypertext Transfer Protocol) é o protocolo usado para transmitir dados na World Wide Web. Ele define vários métodos que podem ser usados para solicitar informações de um servidor ou enviar informações para um servidor. Esses métodos incluem o GET, o POST, o PUT, o DELETE, entre outros.
Um método HTTP é dito ser idempotente quando a mesma solicitação pode ser repetida várias vezes sem causar efeitos colaterais diferentes. Isso significa que, independentemente de quantas vezes a solicitação é feita, o resultado é sempre o mesmo. Os métodos GET, PUT, DELETE e OPTIONS são considerados idempotentes.
Por exemplo, imagine que você envia uma solicitação GET para o endereço /users/123. Esse recurso retorna informações sobre o usuário com o ID 123. Se você enviar essa solicitação GET várias vezes, as informações sobre o usuário 123 serão retornadas cada vez. Não há efeitos colaterais diferentes, como, por exemplo, criar várias entradas para o usuário 123 no banco de dados.
Outra característica que os métodos HTTP podem possuir é serem seguros ou perigosos. Um método é considerado seguro quando não causa efeitos colaterais no servidor. Por exemplo, o método GET é considerado seguro, pois ele apenas solicita informações do servidor, sem modificar seu estado. Já um método é considerado perigoso quando ele pode causar efeitos colaterais no servidor. Por exemplo, o método POST é considerado perigoso, pois ele envia informações para o servidor e pode causar a criação de um novo recurso ou a atualização de um recurso existente.
Além disso, os métodos HTTP também podem ser classificados como cacheáveis ou não cacheáveis. Um método é cacheável quando o servidor pode armazenar uma cópia da resposta para uso futuro e um método não cacheável quando o servidor não pode armazenar uma cópia da resposta. O método GET é considerado cacheável, enquanto o método POST é considerado não cacheável.
Em resumo, os métodos HTTP podem ser classificados como idempotentes, seguros ou perigosos e cacheáveis ou não cacheáveis.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo