REST
Significa "Representational State Transfer".
REST é um conjunto definido de padrões para transferir recursos pela web. O método REST é normalmente aplicado a APIs ("APIs REST"), que permitem que desenvolvedores acessem dados de sistemas remotos pela Internet.
REST define seis restrições arquitetônicas:
- Modelo cliente-servidor – um servidor processa as solicitações dos clientes, e os clientes só podem acessar os dados necessários do servidor
- Sem estado – as solicitações são temporárias e nenhum dado do cliente é armazenado no servidor
- Armazenável em cache – as solicitações podem ser armazenadas em cache para melhorar o desempenho
- Interface uniforme – o acesso aos dados deve ser consistente para todos os usuários e sistemas
- Suporte a sistemas em camadas – as solicitações podem ser processadas hierarquicamente e roteadas entre vários sistemas
- Código sob demanda (opcional) – os servidores podem entregar código executável aos sistemas clientes
REST versus SOAP
REST é frequentemente comparado ao SOAP, outro conjunto de padrões para transferir dados pela Internet. No entanto, REST é simplesmente um estilo de projeto, enquanto SOAP é um protocolo real, com regras e comandos específicos. Tanto as APIs REST quanto as APIs SOAP transmitem dados por HTTP, mas SOAP é limitado a dados XML, enquanto REST é mais flexível.
Como SOAP é um protocolo oficial, todas as mensagens enviadas por SOAP devem usar o mesmo formato de "envelope", com um cabeçalho e um corpo. REST, que surgiu depois do SOAP, tem menos restrições e costuma ser considerado uma alternativa mais leve ao SOAP.
NOTE: As APIs que seguem as diretrizes REST são tecnicamente chamadas de "APIs RESTful", mas muitos desenvolvedores preferem chamá-las de "APIs REST".
Teste seus conhecimentos