Written by Sümeyye Sever (notes I took while creating web development projects)


REST (Representational State Transfer) is an architectural style for designing networked applications. It provides a set of principles and constraints to create efficient, scalable, and interoperable web services. REST is not a protocol or standard but a guideline that developers follow to build APIs.

A RESTful API is an implementation of REST principles in the form of a web service. It allows clients (such as web browsers, mobile apps, or other servers) to interact with resources on a server via HTTP methods. RESTful APIs are a practical application of the REST architectural style.

Key Concepts of REST

  1. Resource-Based:
  2. Representation of Resources:
  3. Stateless Communication:
  4. Uniform Interface:
  5. Client-Server Separation:
  6. Layered System:

How REST Works

1. Client Request:

2. Server Response:

REST Example

Let’s take an example of a RESTful API for managing books.