Milhares de sistemas queriam se expor pela internet, mas cada um construía um protocolo RPC sob medida, de modo que nenhum cliente conseguia falar com dois deles. O obstáculo não era inteligência nem largura de banda; era uma interface especializada para cada serviço.

A dissertação de Fielding mostrou que o mínimo era uma interface uniforme: identificar recursos com uma URI, manipulá-los por meio de representações, manter as mensagens autodescritivas e usar hipermídia como motor de estado, tudo isso sobre as restrições já existentes de cliente-servidor, ausência de estado e cache.

Como REST reutilizou os verbos genéricos do HTTP em vez de inventar novos, um cliente capaz de buscar uma página também podia chamar uma API. É por isso que REST se tornou o padrão para APIs web, deslocando o estilo RPC e CORBA.

Reutilizar os verbos e os endereços de recursos do HTTP como a interface.

A interface uniforme significa que um único cliente genérico e um único conjunto de bibliotecas funcionam com toda API REST, reduzindo o custo de integração.

Como REST restringe em vez de definir, e é construído sobre HTTP, não precisou de novo protocolo ou pilha para ser implantado.

A ausência de estado somada ao cache permitiu que o middleware escalasse requisições sem que o servidor soubesse quem é o chamador entre chamadas.

A hipermídia como motor de estado permite ao cliente descobrir affordances em vez de codificar cada endpoint de forma rígida.

Um padrão derivado daquilo que já funciona em toda parte herda seu alcance; às vezes a maior decisão de design é a restrição que você se recusa a acrescentar.

A dissertação de Fielding foi publicada em 2000 e REST se tornou o estilo dominante para APIs web públicas e internas, substituindo o RPC no estilo SOAP. Mais tarde, adquiriu convenções (OpenAPI e a leitura CRUD-sobre-HTTP, que muitas vezes subutiliza a hipermídia), e alguns argumentam que sua forma mais estrita de hipermídia raramente foi implementada, mas a ideia de interface uniforme venceu.

CONFIRA AS EVIDÊNCIAS

As fontes

  1. Representational State Transfer (REST), Fielding Dissertation Chapter 5 Roy T. Fielding / University of California, Irvine · ics.uci.edu
  2. Representational state transfer Wikipedia · en.wikipedia.org