Backend Development 20 min read

REST Foundations: Principles, HTTP Methods, Status Codes, and Resources

This article provides a comprehensive overview of REST architecture, covering its core concepts, differences from SOAP, the Richardson Maturity Model, detailed explanations of HTTP verbs and response codes, resource identification standards, description languages, server frameworks, and client tools for building and testing RESTful APIs.

Top Architect
Top Architect
Top Architect
REST Foundations: Principles, HTTP Methods, Status Codes, and Resources

REST (Representational State Transfer) is an architectural style that treats information as a first‑class citizen, enabling high performance, scalability, simplicity, and evolvability of web services.

The article introduces the core concepts of REST, including stateless communication, resource identification via URLs, and the importance of content negotiation using the Accept header.

It contrasts REST with SOAP, emphasizing that they solve different problems and should not be considered interchangeable.

The Richardson Maturity Model is presented to illustrate the progressive levels of RESTful implementation, from simple URI exposure to hypermedia‑driven interactions.

All standard HTTP verbs are described:

GET – safe, idempotent retrieval of resources.

POST – creation of resources when the client cannot predict the identifier, and also for submitting queries.

PUT – idempotent replacement or creation when the client knows the resource URI.

DELETE – idempotent removal of resources.

HEAD – metadata‑only request.

OPTIONS – discover allowed methods.

PATCH – partial updates, with support for JSON‑Patch and XML‑Patch.

Typical response codes (1xx–5xx) and their meanings are summarized, highlighting codes such as 200, 201, 204, 400, 404, 500, and the humorous 418.

Resource identification standards (URI, URL, IRI) and relevant RFCs are listed, along with description languages (RAML, Swagger, Apiary.io, Hydra‑Cg) that enable API documentation and code generation.

Several server‑side frameworks and libraries for building RESTful services are overviewed, including JAX‑RS, Restlet, NetKernel, Play, Spray, Express, hapi, and Sinatra.

Client tools such as curl http://fakelibrary.org/library , curl -H "Accept:application/json" http://fakelibrary.org/library , httpie, and Postman are mentioned for testing and interacting with APIs.

Additional resources and references, such as Roy Fielding’s doctoral dissertation and various IETF RFCs, are provided for deeper study.

backendarchitectureHTTPAPIWeb ServicesREST
Top Architect
Written by

Top Architect

Top Architect focuses on sharing practical architecture knowledge, covering enterprise, system, website, large‑scale distributed, and high‑availability architectures, plus architecture adjustments using internet technologies. We welcome idea‑driven, sharing‑oriented architects to exchange and learn together.

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.