logo

More about REST

REST APIs are popular for their simplicity, scalability, and flexibility. They allow services to communicate using standard HTTP protocols and can easily integrate with various front-end technologies like web or mobile applications.

Key characteristics of REST API:

  • Every request from a client to a server must contain all the information the server needs to fulfill the request. The server does not store client state between requests.
  • The client and server are independent, the client is responsible for the UI and the server for the data.
  • Responses from the server can be marked as cacheable or non-cacheable. If cacheable, clients can reuse data without asking the server again.
  • REST APIs typically have a consistent interface and use standard HTTP methods (GET, POST, PUT, DELETE) to interact with resources.
  • REST allows an API to be built with different layers, enhancing scalability and flexibility.

REST emphasizes scalability of component interactions, generality of interfaces, independent deployment of components, and intermediary components to reduce interaction latency, enforce security, and encapsulate legacy systems.
— Roy Fielding, Chapter 5, 2000

Why REST was created

The web needed a standard architecture to build scalable, flexible, and efficient systems that could easily communicate over a network, typically the internet. The traditional methods of communication between systems were complex and tightly coupled. Roy Fielding proposed REST as a simpler, more scalable, and decoupled architecture for distributed systems.

  • REST emphasizes the separation between client-side UI and server-side functionality. This separation allows teams to work independently on both sides,
  • REST APIs are stateless, meaning each request from a client must contain all the necessary information for the server to process the request. This feature improves scalability, as the server doesn’t need to maintain session information.
  • REST uses standard HTTP methods (GET, POST, PUT, DELETE), making it accessible and easy to use with different technologies. REST was designed to be flexible, supporting a variety of communication standards beyond just web browsers,
  • Unlike older, more complex protocols (e.g., SOAP), REST APIs are relatively simple to implement. This simplicity reduces the learning curve for developers and increases adoption across industries.

Who Created REST API

REST was conceptualized and formalized by Roy Fielding. His work in the field of network protocols and web systems provided the foundation for the architectural style that REST follows. The term "REST" was coined in his dissertation titled "Architectural Styles and the Design of Network-based Software Architectures"

Although REST itself is a conceptual architecture, its implementation via HTTP (and later other protocols) quickly became one of the most popular ways to build web services.

REST APIs became the backbone of modern web and mobile applications, enabling communication between different services and devices.