In computer science REST stands for Representational state transfer. I wonder what does it really means: 1. state transfer in a representational manner or 2. a transfer of a representational state.

I'm Spanish native speaker.


The term was coined by Roy Fielding in 2000, in his PhD thesis. Such terms are not necessarily intended to be interpreted in a literal manner.

Imagine some government office, with just one counter. You go to the counter and give the official your ID card, and a document that the official requested last time. They look through filing cabinet and pick out your file, place the document you provided in the folder, and tell you what document is needed next. The process is repeated. This is a stateful system: the official (the system) is responsible for remembering what stage/state your application is in.

Now imagine a government office with six counters. On your first visit, you go to the official at the first counter, who gives you an application form, and tells you to fill it in then go to counter 2. You do that, and the official there takes the fee, gives you a receipt, marks your application form as paid, and tells you to take the form to counter 3... and so it goes on. This is a restful system: you are responsible for remembering what stage you are at: the officials are a stateless/RESTful system.

So, representational state transfer (ReST) means that the user is responsible for managing information about the state of your transaction, not the system.

Note that this is a theoretical approach to how systems like the world wide web should be designed, and actual implementations are, for various practical reasons, a mixture of the two approaches.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.