REST: Estilo Arquitetônico
Gabarito: letra D. REST (Representational State Transfer) é um estilo arquitetônico, não um protocolo, framework ou linguagem. Ele define um conjunto de restrições (como stateless, cacheable, uniform interface) para o design de sistemas distribuídos, conforme consagrado por Roy Fielding em sua tese de doutorado.
Alternativa | Descrição | Correta? | Motivo |
|---|
A | Conjunto de ferramentas para testar performance de aplicativos web | ❌ | REST não é ferramenta de teste; é estilo arquitetônico |
B | Protocolo de comunicação para transferência de arquivos entre servidores | ❌ | REST não é protocolo; utiliza HTTP, mas não se limita a transferência de arquivos |
C | Framework para criar interfaces gráficas de usuário | ❌ | REST não tem relação com GUI; foca em comunicação entre sistemas |
D | Estilo arquitetônico que define restrições para design de sistemas distribuídos | ✅ | Definição clássica de REST, conforme Roy Fielding |
E | Linguagem de programação para desenvolver aplicativos web | ❌ | REST não é linguagem; pode ser implementado em qualquer linguagem |
Alternativa A — ❌ Incorreta
Afirma que REST é um conjunto de ferramentas para testar performance. REST não é ferramenta de teste; é um estilo arquitetônico que orienta a comunicação entre sistemas.
Alternativa B — ❌ Incorreta
Diz que REST é um protocolo de comunicação para transferência de arquivos. REST utiliza o protocolo HTTP, mas não é ele próprio um protocolo; é um estilo que se aproveita dos padrões da web.
Alternativa C — ❌ Incorreta
Define REST como um framework para criar interfaces gráficas. REST não tem relação com GUI; é voltado à comunicação entre sistemas distribuídos.
Alternativa D — ✅ Correta ⟵ GABARITO
"estilo arquitetônico que define um conjunto de restrições para o design de sistemas distribuídos." Esta é a definição clássica de REST, conforme a literatura e a origem do conceito.
Alternativa E — ❌ Incorreta
Indica que REST é uma linguagem de programação. REST não é linguagem; é um estilo que pode ser implementado em qualquer linguagem de programação.
Gabarito: letra D.