Minute of theory: Understanding RESTful applications

Original author: Lauren Long
  • Transfer
We regularly talk about our own developments, as well as expert experience related to web technologies. We recently looked at a case study for scaling a Ruby web application and talked about how you can speed up web page loading.

Today we decided to deal with terminology and consider a term that everyone is familiar with. We are talking about RESTful applications. This was helped by material from Lauren Long, who works at Recurse Center.



/ Photo by Juhan Sonin / CC

Few could pass the term REST. It is used including in relation to the category of RESTful-applications. If you expand the abbreviation, you will see Representational State Transfer or "transfer of status information."

This term was suggested by Roy Fielding in his dissertation, which has already become a classic in the field of web technologies. He formulated the basic principles of the Network in the form of a specific toolkit or architectural paradigm. In order to attribute this or that application to the RESTful type, it is necessary that it satisfies these principles.

1. The main point is client-server interaction. The opposite example - event-based architecture - there will no longer be a one-on-one operation.

2. Stateless approach - for the client and server to work fully, there is no need to store information about each other's previous state. Each individual request is completely independent.

3. Typical interaction protocols - from URI and HTTP to the JSON format - clearly defined interfaces that give the two sides all the necessary information for work (self-descriptive). It is important to understand here that each of the interactions is autonomous (item 2).

4. Additional conditions include caching (the ability to store self-descriptive responses), the assumption of a multi-level system of client-server interaction (proxies, load balancing), gateways and encoding on demand (optional, JavaScript is an example).

That's all. Today we figured out one of the most popular terms and spent just a couple of minutes of your time on this. We hope that this is useful and understandable.

Also popular now: