Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Qu'est-ce que REST ?
À un niveau élevé, le transfert d'état représentationnel (REST) est une architecture logicielle qui impose des conditions quant au fonctionnement d'une API. REST a été initialement créé comme une directive pour gérer la communication sur un réseau complexe comme Internet. Vous pouvez utiliser REST-based l'architecture pour prendre en charge des communications fiables et performantes à grande échelle. Vous pouvez facilement l'implémenter et le modifier, apportant de la visibilité et une portabilité multiplateforme à n'importe quel système d'API.
Les développeurs d'API peuvent concevoir des API à l'aide de plusieurs architectures différentes. Les API qui suivent le style architectural REST sont appelées API REST. Les services Web qui implémentent l'architecture REST sont appelés services Web RESTful. Le terme API RESTful fait généralement référence aux API Web RESTful. Cependant, vous pouvez utiliser les termes API REST et API RESTful de manière interchangeable.
Voici certains des principes du style architectural REST :
Interface uniforme
L'interface uniforme est fondamentale pour la conception de tout service Web RESTful. Cela indique que le serveur transfère les informations dans un format standard. La ressource formatée est appelée représentation dans REST. Ce format peut être différent de la représentation interne de la ressource sur l'application serveur. Par exemple, le serveur peut stocker des données sous forme de texte mais les envoyer dans un format de représentation HTML.
Une interface uniforme impose quatre contraintes architecturales :
-
Les demandes doivent identifier les ressources. Pour ce faire, ils utilisent un identifiant de ressource uniforme.
-
Les clients disposent de suffisamment d'informations dans la représentation des ressources pour modifier ou supprimer la ressource s'ils le souhaitent. Le serveur répond à cette condition en envoyant des métadonnées qui décrivent plus en détail la ressource.
-
Les clients reçoivent des informations sur la manière de poursuivre le traitement de la représentation. Le serveur y parvient en envoyant des messages autodescriptifs contenant des métadonnées indiquant comment le client peut les utiliser au mieux.
-
Les clients reçoivent des informations sur toutes les autres ressources connexes dont ils ont besoin pour accomplir une tâche. Le serveur y parvient en envoyant des hyperliens dans la représentation afin que les clients puissent découvrir de manière dynamique davantage de ressources.
Apatridie
Dans l'architecture REST, l'apatridie fait référence à une méthode de communication dans laquelle le serveur exécute chaque demande du client indépendamment de toutes les demandes précédentes. Les clients peuvent demander des ressources dans n'importe quel ordre, et chaque demande est apatride ou isolée des autres demandes. Cette contrainte de conception de l'API REST implique que le serveur peut parfaitement comprendre et répondre à la demande à chaque fois.
Système en couches
Dans une architecture de système en couches, le client peut se connecter à d'autres intermédiaires autorisés entre le client et le serveur, et il continuera à recevoir des réponses du serveur. Les serveurs peuvent également transmettre des demandes à d'autres serveurs. Vous pouvez concevoir votre service Web RESTful pour qu'il s'exécute sur plusieurs serveurs dotés de plusieurs couches telles que la sécurité, les applications et la logique métier, travaillant ensemble pour répondre aux demandes des clients. Ces couches restent invisibles pour le client.
Possibilité de mise en cache
Les services Web RESTful prennent en charge la mise en cache, qui consiste à stocker certaines réponses sur le client ou sur un intermédiaire afin d'améliorer le temps de réponse du serveur. Supposons, par exemple, que vous consultiez un site Web dont les images d'en-tête et de pied de page sont communes à chaque page. Chaque fois que vous visitez une nouvelle page Web, le serveur doit renvoyer les mêmes images. Pour éviter cela, le client met en cache ou stocke ces images après la première réponse, puis les utilise directement depuis le cache. Les services Web RESTful contrôlent la mise en cache en utilisant des réponses d'API qui se définissent comme pouvant être mises en cache ou non mises en cache.
Qu'est-ce qu'une API RESTful ?
L'API RESTful est une interface que deux systèmes informatiques utilisent pour échanger des informations en toute sécurité sur Internet. La plupart des applications métier doivent communiquer avec d'autres applications internes et tierces pour effectuer diverses tâches. Par exemple, pour générer des fiches de paie mensuelles, votre système de comptabilité interne doit partager des données avec le système bancaire de votre client afin d'automatiser la facturation et de communiquer avec une application de feuille de temps interne. Les API RESTful prennent en charge cet échange d'informations car elles respectent des normes de communication logicielle sécurisées, fiables et efficaces.
Comment fonctionnent les API RESTful ?
La fonction de base d'une API RESTful est la même que celle de la navigation sur Internet. Le client contacte le serveur à l'aide de l'API lorsqu'il a besoin d'une ressource. Les développeurs d'API expliquent comment le client doit utiliser l'API REST dans la documentation de l'API de l'application serveur. Voici les étapes générales à suivre pour tout appel d'API REST :
-
Le client envoie une demande au serveur. Le client suit la documentation de l'API pour formater la demande d'une manière compréhensible par le serveur.
-
Le serveur authentifie le client et confirme que celui-ci a le droit de faire cette demande.
-
Le serveur reçoit la demande et la traite en interne.
-
Le serveur renvoie une réponse au client. La réponse contient des informations qui indiquent au client si la demande a été acceptée. La réponse inclut également toutes les informations demandées par le client.
Les détails de la demande et de la réponse de l'API REST varient légèrement en fonction de la manière dont les développeurs de l'API conçoivent l'API.