Em uma API RESTful, cada solicitação deve conter todos os dados necessários ao seu atendimento para não depender de informações armazenadas em outras sessões, o que caracteriza uma restrição de
- A)cache.
Errada, porque cache trata de reaproveitamento de respostas para eficiência, e não da exigência de cada requisição conter todas as informações necessárias.
- B)arquitetura cliente-servidor.
Errada, porque arquitetura cliente-servidor é um modelo de organização entre as partes, mas não descreve a ausência de estado entre requisições.
- C)interface uniforme.
Errada, porque interface uniforme é outro princípio do REST ligado à padronização da interação, não à independência de sessão.
- D)sistema de camadas.
Errada, porque sistema de camadas diz respeito à separação em níveis de responsabilidade, e não ao fato de a requisição não depender de contexto anterior.
- E)comunicação stateless.
Certa, porque comunicação stateless significa que cada requisição deve ser autossuficiente, sem depender de informações guardadas em sessões anteriores.
Gabarito: E
Em APIs RESTful, a ideia central é simples: cada requisição deve ser suficiente por si só. Ou seja, o servidor não deve depender de contexto guardado de uma interação anterior para atender ao pedido atual. Isso facilita escala, manutenção e até o balanceamento de carga, porque cada chamada vira uma peça independente do quebra-cabeça. Essa característica é chamada de comunicação stateless, ou sem estado. Na prática, o cliente precisa enviar na própria requisição tudo o que o servidor precisa saber para processá-la, como parâmetros, autenticação e identificação do recurso. O servidor pode até guardar dados, mas não deve depender de “memória de conversa” entre requisições. Por isso, o gabarito é a letra E. A questão descreve exatamente a restrição de statelessness do estilo REST, que é um dos princípios clássicos definidos na dissertação de Roy Fielding, base teórica da arquitetura REST. Em provas, a CESPE adora trocar o nome bonito pelo conceito direto: se não há dependência de sessão anterior, pense em stateless. Se você marcou cache, camadas ou interface uniforme, caiu na armadilha do vocabulário REST. Esses também são restrições importantes, mas não são a ideia descrita no enunciado. O coração da questão é a independência entre as requisições.