The Short History Of REST As Prerequisite For The Cloud

Pavol Kutaj
2 min readMar 8, 2022

The aim of this note is to summarize the history of REST API, stressing that its design is a prerequisite for what we call cloud today, noting its academic origins and also that Roy Fielding has been with the web since its very beginnings in the early 90s.

1. WWW ITSELF: EARLY 1990S

  • Roy Fielding coined REST as part of his Ph.D. in 2000
  • The epic story is the creation of WWW that starts with 1990–1995
  • 4 Web Innovations
  • 1. URL
  • 2. HTTP (over prioritization)
  • 3. HTML (underestimating)
  • 4. Browsers bring this to Cross-Platform Mainstream, User-Friendly GUI

2. PRE-2000: THE SOAP YEARS

  • if you wanted to communicate online between applications/pages you had to use Simple Object Access Protocol
  1. hand-write an XML document with an RPC call in the body
  2. specify the endpoint and POST their SOAP enveloped to that specified endpoint

SOAP was notorious for being complex to build, complex to use, and near-impossible to debug. And the alternative, CORBA, was even worse. The problem was that there was no standard for how APIs should be designed and used. Back then, APIs were not designed to be accessible, they were only designed to be flexible.

— From https://blog.readme.io/the-history-of-rest-apis/

3. 2000 THE DISSERTATION

  • ROY FIELDING: The Dissertation 2000
  • Architectural Styles and the Design of Network-based Software Architectures
  • Goal: create a standard so that any server could talk to any other server in the world
  • Roy Fielding was with the web from the beginning (authored HTTP and URL) and his dissertation in the midst of the dot-com bubble burst revolutionized the way we use the web today, as shown in https://www.crummy.com/writing/speaking/2013-RESTFest/

4. THE 4 PILLARS OF REST: U.S.CLIS.CACHE

  • REST has 4 principles U-S-CLIS-CACHE
  • U for Uniform Interface:
  • always HTTP verbs
  • always URI as resources
  • always HTTP response with a status and a body
  • Stateless
  • each request is self-descriptive and self-contained for the server to process it
  • Client-Server
  • clear boundaries between roles of requestor and responder
  • Cachable
  • unless denoted, a client can cache any representation
  • statelessness makes this possible
  • REST is anti-SOAP
  • REST is resource-based

5. REST AND WEB 2.0 (AND AWS)

  • eBay, Amazon and Flickr were the first to start offering these standard APIs to their systems in the early 2000s
  • And so, AWS is built on this initiative in South Africa and it is the beginning of the cloud

6. SOURCES

--

--

Pavol Kutaj

Today I Learnt | Infrastructure Support Engineer at snowplow.io with a passion for cloud infrastructure/terraform/python/docs. More at https://pavol.kutaj.com