Que sont les services Web reposants

Introduction

Dans notre article précédent, nous avons discuté de ce qu'est une API. Il existe différents types d'appels API, par exemple le protocole SOAP (Simple Object Access Protocol), l'appel de procédure distante (RPC) et le transfert d'état représentatif (REST). Tous ces appels d'API ont le même objectif, c'est-à-dire transférer des données en toute sécurité entre deux systèmes ou plus. Dans cet article, nous n'explorerons que les services Web reposants.

Qu'est-ce que le REPOS

Comme indiqué précédemment, REST signifie Representational State Transfer. C'est un moyen simple d'envoyer et de recevoir des données entre le client et le serveur. Il ne nécessite aucun logiciel ou standard pour transférer des données. Il a une structure prédéfinie pour effectuer l'appel d'API. Les développeurs doivent simplement utiliser la méthode prédéfinie et transmettre leurs données en tant que charge utile JSON.

Services Web reposants

Attributs des services Web reposants

Un service Web RESTful a les six contraintes/attributs suivants :

  1. Serveur client: C'est un aspect très important des API REST. Une API REST suit l'architecture client-serveur et ces deux doivent être séparés. Cela signifie que le serveur et le client ne peuvent pas être le même serveur. Si c'est la même chose, vous recevrez une erreur CORS.
  2. Apatride: Dans REST, tous les appels sont traités comme un nouvel appel et tout état d'appel précédent ne donnera aucun avantage au nouvel appel. Par conséquent, lors de chaque appel, il est nécessaire de conserver toutes les informations d'authentification et autres nécessaires.
  3. Cache: Une API REST encourage le processus de mise en cache du navigateur et du serveur pour améliorer sa vitesse de traitement.
  4. Interface uniforme : L'interface entre le client et le serveur reste uniforme, par conséquent, tout changement de part et d'autre n'affectera pas la fonctionnalité de l'API. Cette aide au développement du système client et serveur indépendamment.
  5. Système en couches : REST permet l'utilisation d'une structure en couches côté serveur, c'est-à-dire que vous pouvez avoir des données sur un serveur différent, une authentification sur un serveur différent tandis que l'API sur un serveur différent. Le client ne saura jamais qu'il obtient les données de quel serveur.
  6. Code à la demande : Il s'agit d'une fonctionnalité facultative de l'API REST où le serveur peut même envoyer du code exécutable au client qui peut s'exécuter directement pendant l'exécution.

Méthodes dans les services Web reposants

En utilisant les services Web Restful, nous pouvons effectuer ces quatre opérations de base :

  1. GET : Cette méthode est utilisée pour obtenir une liste de données du serveur.
  2. POST : cette méthode est utilisée pour publier/créer un nouvel enregistrement dans le serveur.
  3. PUT : Cette méthode est utilisée pour mettre à jour un enregistrement de serveur existant.
  4. DELETE : Cette méthode est utilisée pour effectuer la suppression d'un enregistrement côté serveur.

Remarque : Le simple fait d'appeler la méthode ci-dessus ne garantit pas que les opérations seront effectuées jusqu'à ce que ces opérations soient également implémentées côté serveur.

Avantages des services Web reposants

Voici les principaux avantages d'une API RESTful :

  • Ils sont plus simples et flexibles à mettre en œuvre
  • Il prend en charge une plus grande variété de formats de données, par exemple JSON, XML, YAML, etc.
  • Il est plus rapide et offre de meilleures performances

Inconvénients des services Web reposants

Bien que les services REST aient tendance à offrir de multiples avantages, ils présentent néanmoins des inconvénients :

  • Pour implémenter une requête liée à l'état, les en-têtes REST sont requis, ce qui est un travail maladroit
  • Les opérations PUT et DELETE ne sont pas utilisables à travers les pare-feux ou dans certains navigateurs.

Laissez un commentaire

Ce site utilise Akismet pour réduire les spams. Découvrez comment sont traitées les données de vos commentaires..