Middle
Quais são os princípios do REST?
sobes.tech IA
Resposta da IA
Existem os seguintes princípios do REST:
- Arquitetura Cliente-Servidor: Separação de responsabilidades entre o cliente (consumidor do serviço) e o servidor (fornecedor do serviço). Isso promove a portabilidade do código do cliente e a escalabilidade do servidor.
- Sem estado (Stateless): Cada pedido do cliente ao servidor deve conter todas as informações necessárias para que o servidor possa processá-lo. O servidor não mantém estado do cliente entre pedidos.
- Cacheável: O servidor pode indicar explicitamente se os dados podem ser armazenados em cache pelo cliente ou por camadas intermediárias. Isso melhora o desempenho e a escalabilidade.
- Interface uniforme: A mais importante, incluindo quatro subprincípios:
- Identificação de recursos: Os recursos são identificados por URIs únicos.
- Manipulação de recursos através de representações: O cliente interage com os recursos obtendo suas representações (por exemplo, em JSON ou XML) e enviando novas representações para modificar o estado do recurso.
- Mensagens auto-descritivas: Cada mensagem contém informações suficientes para que o destinatário entenda como processá-la. São utilizados cabeçalhos HTTP padrão.
- Hipermedia como o Motor do Estado da Aplicação (HATEOAS): O cliente deve encontrar informações sobre ações disponíveis e transições possíveis entre estados da aplicação a partir de links hipertexto incorporados às representações dos recursos.
- Sistema em camadas: A arquitetura pode ser organizada em camadas intermediárias (por exemplo, proxies, caches, gateways) através das quais passam as requisições e respostas. O cliente não sabe se comunica diretamente com o servidor final ou através de camadas intermediárias.
- Código sob demanda (opcional): O servidor pode estender temporariamente a funcionalidade do cliente transmitindo código executável (por exemplo, JavaScript). Este princípio é opcional para conformidade com REST.