Roy Fielding, qui est à l’origne de REST, a désormais son blog: untangled.
L’occasion de rappeler que Tim Berners Lee, à l’origine du Web, a lui aussi son blog. Ainsi que Tim Bray, l’un des principaux contributeurs d’xml. Et il y en a certainement bien d’autre de la même trempe.
Ces gens changent le monde et ils sont à portée de clic… Nous vivons une époque formidable.
J’ai besoin de démêler une question à propos de REST 🙂
Je prends les 2 principes suivants :
1. Une ressource est identifiée par une URI unique
2. Tous les services d’une application doivent être sans-état.
Je prend maintenant une problématique simple comme l’authentification sur une appli web.
La méthode classique pour résoudre ce problème est l’utilisation de la session ou de cookies. Mais dans ce cas je ne suis plus stateless.
D’autres services comme ceux de l’api Flickr utilise un système de jeton (un “frob”). Ce “frob” est à fournir pour accéder à un service (via l’url). Du coup ma ressource n’a plus d’uri unique, mais un paquet ! autant d’uri que d’utilisateurs.
Est-ce que j’ai manqué quelque chose ?
En écrivant je me demande si le principe 1 n’est pas plutôt :
“La représentation d’une ressource est identifiée par une URI unique”.
Ton service étant stateless si tu veux de l’authentification tu dois repasser un credentials (login/pass, jeton, signature…) à chaque requête.
Ton credential peut-être dans les paramètres de l’URI (et là effectivement ça “salit” ton URI) ou dans les entêtes HTTP. Le plus simple est d’utiliser les mécanismes intégrés à HTTP (http://fr.wikipedia.org/wiki/HTTP_Authentification)