Transferul de stare reprezentațională (REST) este o implementare arhitecturală de programare menită să sporească eficiența comunicării în sistemele informatice. Acesta întruchipează ideea că cea mai bună modalitate de a partaja cantități mari de date între mai multe părți este de a face aceste date disponibile la cerere prin partajarea referințelor la aceste date, mai degrabă decât o copie completă a datelor în sine. Sistemele care implementează REST se numesc sisteme "RESTful".
Un exemplu de sistem non-RESTful din lumea reală ar fi colecția tradițională de filme de casă. Pentru a avea acces la un anumit film, proprietarul bibliotecii trebuie să obțină o copie fizică a acestuia. Acest lucru duce la o risipă substanțială, deoarece există mai multe copii decât sunt utilizate la un moment dat. De asemenea, timpul necesar pentru a adăuga noi titluri la bibliotecă este, în general, non-trivial. Streamingul video este echivalentul RESTful al bibliotecii personale. În loc de a avea o copie completă a fiecărui film stocată în casă, filmul este menționat doar prin titlul său, iar conținutul filmului este transmis în flux la cerere.
World Wide Web este cel mai mare exemplu actual de sistem RESTful. Bibliotecile fizice sunt echivalentul său non-RESTful. În loc să trimitem o copie electronică fizică a fiecărei resurse digitale către fiecare persoană sau bibliotecă, atribuim fiecărei resurse un identificator URL "http://example.com", apoi accesăm conținutul real prin intermediul internetului, în loc să recuperăm o copie locală de pe un disc optic sau de pe un hard disk.
Arhitectura REST poate fi aplicată și în alte contexte. De exemplu, să luăm în considerare două companii care doresc să partajeze mai mulți gigabytes de informații care se schimbă în mod constant. Trimiterea regulată a unei copii complete a bazelor lor de date una celeilalte (chiar și prin internet) reprezintă un proces inutil și consumator de timp. Această metodă de partajare a informațiilor este similară cu exemplul bibliotecii dat anterior. În schimb, companiile pot face schimb de ID-uri ale bazelor de date între ele, poate chiar atribuind fiecărui element din baza de date propriul URL. Atunci când o companie dorește să interogheze baza de date pentru a afla prețul unui anumit articol aparținând celeilalte companii, aceasta poate prelua datele pentru acel articol de inventar specific.