Il trasferimento dello stato rappresentativo (REST) è un'implementazione dell'architettura di programmazione volta ad aumentare l'efficienza della comunicazione nei sistemi informatici. Esso incarna l'idea che il modo migliore per condividere grandi quantità di dati tra più parti è quello di rendere disponibili quei dati su richiesta condividendo i riferimenti a quei dati piuttosto che una copia completa dei dati stessi. I sistemi che implementano REST sono chiamati sistemi "RESTful".

Un esempio di un sistema non-RESTful del mondo reale sarebbe la tradizionale collezione di home movie. Per avere accesso a un determinato film, il proprietario della biblioteca deve ottenere una copia fisica di esso. Ciò comporta un notevole spreco, poiché esistono più copie di quante siano in uso in un dato momento. Inoltre, il tempo necessario per aggiungere nuovi titoli alla biblioteca è generalmente non banale. Il video in streaming è la controparte RESTful della biblioteca di casa. Invece di avere una copia completa di ogni film memorizzata in casa, il film viene indicato solo con il suo titolo e il contenuto del film viene trasmesso in streaming su richiesta.

Il World Wide Web è il più grande esempio di sistema RESTful oggi. Le biblioteche fisiche sono il suo equivalente non RESTful. Invece di inviare una copia elettronica fisica di ogni risorsa digitale ad ogni persona o biblioteca, assegniamo ad ogni risorsa un identificatore di URL "http://example.com", quindi accediamo al contenuto effettivo via Internet piuttosto che recuperare una copia locale da un disco ottico o da un disco rigido.

L'architettura REST può essere applicata in altri contesti. Per esempio, si considerino due aziende che vogliono condividere più gigabyte di informazioni che cambiano continuamente. L'invio di una copia completa delle loro banche dati l'una all'altra (anche via internet) su base regolare è un processo dispendioso e che richiede tempo. Questo metodo di condivisione delle informazioni è simile all'esempio di biblioteca fornito in precedenza. Le aziende possono invece condividere tra loro gli ID dei database, magari assegnando ad ogni elemento del database il proprio URL. Quando un'azienda vuole interrogare il database per conoscere il prezzo di un particolare articolo appartenente all'altra azienda, può poi recuperare i dati per quello specifico articolo d'inventario.