• 6 heures
  • Facile

Ce cours est visible gratuitement en ligne.

course.header.alt.is_video

course.header.alt.is_certifying

J'ai tout compris !

Mis à jour le 09/07/2018

Les méthodes

Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

Les méthodes HTTP sont toujours des verbes en majuscules. Apprenons-les !

GET

GET est la méthode la plus utilisée pour les requêtes HTTP. Comme le suggère le mot “GET” en anglais, cette méthode existe pour récupérer des données d'une ressource. Ce type de requête comporte la première ligne importante que vous avez vue dans le chapitre précédent et les en-têtes pour communiquer les infos du client mais n’a pas de corps, car elle ne fait que chercher des informations externes (rien à envoyer avec). Par contre, vous pouvez envoyer des paramètres à l’URI en forme d’un query string pour pouvoir recevoir les données spécifiques que vous cherchez.

GET http://site.com/users?parametre=exemple&autre_parametre=exemple2

Une requête GET peut aussi être conditionnelle, par exemple GET la ressource si une condition est vraie (sinon laisse tomber).

POST

On utilise POST pour envoyer des données dans une requête et souvent pour l’ajouter à la ressource précisée dans la partie URI de la première ligne de la requête. Le type de contenu dans le corps de la requête peut être défini avec un en-tête Content-type  pour que le serveur sache comment traiter les données dans la requête. Par exemple si vous utilisez une API pour laisser un commentaire sur un article sur un autre site la requête POST peut ressembler à la suivante :

POST /page.php HTTP/1.1

Host: site.com

Content-Type: application/x-www-form-urlencoded

Content-Length: 36

titre=titreici&corps=icimoncommentaire

Dans cette requête vous voyez deux nouveaux en-têtes. Content-type  définit le type d’encodage utilisé pour les informations. Content-length  définit le nombre des caractères dans le contenu : avec cette information le serveur sera certain d’accepter tout ce que vous avez envoyé.

PUT

Vous utiliserez PUT beaucoup moins souvent que POST mais regardons tout de même cette méthode. POST, comme vous avez pu le constater, envoie des données au serveur et le serveur lance une action après la requête même si cette action ne se passe pas forcément au niveau de l’URI précisé par le client : c’est le serveur qui interprète la requête et qui décide la suite. Contrairement à POST, PUT indique que seul l’URI précisé par le client doit être affecté, point final.

Par exemple, disons que vous voulez créer un nouvel utilisateur qui n’existe pas dans une base de données d’un site. Normalement vous le feriez avec POST :  

POST /users HTTP/1.1
name=jessica

Cette requête permettrait au serveur de décider de créer un nouvel utilisateur et de lui donner un ID correct. Avec PUT, cela ressemblerait à la requête suivante :

PUT /users/10 HTTP.1.1
name=jessica

Cette requête dit deux choses : elle demande de créer un nouvel utilisateur à l’ID 10 s’il n’y en a pas ou de remplacer l’utilisateur à cet ID ! Ce n'est pas une bonne idée. Il vaut mieux en général laisser le serveur décider quel ID il faut donner à un nouvel objet et quoi faire avec. Comme vous êtes le client dans ce cas, ce n'est pas vraiment vous qui savez mieux, surtout si vous travaillez avec une API REST externe.

DELETE

Cette méthode est assez claire ! En utilisant DELETE vous dites que vous voulez supprimer la ressource donnée dans l’URI. Par contre, vous ne pourrez pas être sûr que l’action s’est vraiment passée, car la réponse du serveur, quelle qu'elle soit, n'est pas une véritable confirmation de suppression.

Exemple de certificat de réussite
Exemple de certificat de réussite