REST est un mal compris souvent terme. La définition précise peut bien sûr être trouvée dans dissertation de Fielding, et est tenté d'expliquer dans le Wikipedia entry. Bref c'est un style architectural, et n'a rien à voir avec le HTTP ou le web. HTTP et une grande partie du web, cependant permettent et suivent le style architectural REST.
Mais en vérité, le terme REST a été édulcoré et il est maintenant presque synonyme de API basé sur HTTP d'une certaine sorte. Quand les développeurs parlent d'implémenter ou d'utiliser une API REST, ils veulent généralement dire quelque chose comme documenter les templates URI pour toutes leurs ressources, et utiliser GET pour récupérer quelque chose, PUT pour modifier quelque chose, DELETE pour supprimer quelque chose et POST pour faire autre chose (comme créer ou accepter ou modifier quelque chose), comme le Twitter API to update ones status ou StackOverflow's own API ou Facebook's API.
Ces API généralement
- donnent à chaque chose intéressante (ressource) dans leur système leur propre URI
- utiliser la "interface uniforme" (GET, PUT, POST, DELETE) sur ces URIs pour travailler avec les ressources
- utilisation types standard de schémas d'authentification (comme OAuth ou OpenID ou même variantes plus simples)
- sont apatrides, en ce que chaque demande est indépendante de toute demande précédente
Tous ces sont bons et nécessaires des architectures REST, mais seuls ne suffisent pas à suivre le reste académique
Je pense que cela est une description approprié pour REST comme il est maintenant. Il y a quelques personnes qui comprennent la différence entre Corporate REST et Academic REST mais leur nombre diminue.
Mais c'est le sujet d'une autre question, il suffit de chercher HATEOAS.
Les services Web REST sont ce que vous n'avez pas cherché avant de poster votre question. –
Les gens, c'est un doublon clair et évident. Je m'attends à ce qu'il soit fermé bientôt. Vous pourriez ne pas vouloir perdre votre temps à y répondre. –
@ John Saunders - Beau sens de l'humour. – SoftwareGeek