REST (Representational State Transfer) est un style d'architecture logicielle pour les systèmes hypermédias distribués tels que le World Wide Web. Il a gagné en popularité par rapport aux architectures RPC telles que SOAP en raison du découplage intrinsèque du client du serveur qui provient d'une interface uniforme entre les systèmes hétérogènes.

(À ne pas confondre avec restructuredtextou reST)

REST (REpresentational State Transfer) est un style architectural qui utilise l'identification des ressources; manipulation des ressources à travers des représentations; messages auto-descriptifs et hypermédia comme moteur de l'état de l'application, pour construire des systèmes distribués évolutifs et résistants au changement.

Le terme a été introduit et défini en 2000 par Roy Fielding dans sa thèse de doctorat. Fielding est l'un des principaux auteurs des Hypertext Transfer Protocol(HTTP) versions 1.0 et 1.1 de la spécification Hypertext Transfer Protocol (HTTP).

Dans un langage simple, REST est une alternative aux services Web basés sur SOAP. Lorsque SOAP essaie de modéliser l'échange entre le client et le serveur en tant qu'appels à des objets, REST essaie d'être fidèle au domaine Web.

Ressources


Exemples

Un apiRESTful d'un site Web est interrogé pour trouver des informations sur un utilisateur, spécifiées par un ID numérique.

Request Type: GET
http://www.api.website.com/users/12345

Renvoie, au format jsonpour cet exemple:

{"username" : "theuser",
 "userid"   :  12345,
 "first"    : "George",
 "last"     : "Washington"}

Index des questions

Recherche

Interface de recherche REST et idempotence de GET
Conception d'URL RESTful pour la recherche
Meilleure pratique pour implémenter des recherches de longue durée avec REST
Querystring dans l'URL de la ressource REST
Quelle est la meilleure façon de créer des requêtes complexes RESTful?
Question sur les conventions REST: récupération d'informations là où de nombreux paramètres sont nécessaires

Conception des ressources

Comment concevoir une ressource de collection RESTful?
Conception RESTful d'une ressource avec des états binaires
RESTFful / Resource Oriented Design
RESTful resource - accepte une liste d'objets
L'API RESTful crée une ressource globalement unique
REST 'resources communication resources' and 'on-the-fly' amélioration of an client's knowledge of them< br /> Comment déplacer une ressource REST?

Types de supports

Explosion de type de média REST
Création de liens hypermédia dans un type de média personnalisé
Types de contenu personnalisés: XLink vs Atom

Livres

Tags associés