Representational State Transfer
Representational State Transfer – wzorzec architektury oprogramowania wywiedziony z doświadczeń przy pisaniu specyfikacji protokołu HTTP. REST jest wzorcem architektury oprogramowania wprowadzającym dobre praktyki tworzenia architektury aplikacji rozproszonych.
REST wprowadza terminy takie jak jednorodny interfejs, bezstanowa komunikacja, zasób, reprezentacja.
Zaproponowany przez Roya T. Fieldinga w 2000 roku[1].
Jest wykorzystywany przez wiele frameworków aplikacji internetowych np. Ruby on Rails, Sinatra, Django, RESTlet, RESTeasy i wiele innych.
Charakterystycznym elementem REST jest "restowy" (RESTful) interfejs usług webowych, w którym parametry wywołania danej usługi są umieszczane w ścieżce adresu URL, a nie w części przeznaczonej na parametry, jak w klasycznych wywołaniach GET lub POST:
Wywołanie klasyczne
http://example.com/article?id=1234&format=print
Wywołanie RESTful
http://example.com/article/1234/print