4.1 Liste des méthodes HTTP

Le tout premier mot d'une requête HTTP est le nom de la méthode . Il y a même une certaine analogie avec les méthodes d'appel en Java. La méthode dans la requête HTTP définit l'opération de base à effectuer sur la ressource.

Quel type de ressource ? Le fait est qu'à l'aube du World Wide Web, les serveurs stockaient simplement des fichiers HTML, respectivement, la demande concernait un tel fichier et décrivait une action à effectuer avec la ressource / le fichier.

La norme HTTP spécifie les méthodes suivantes :

# Méthode Description
1 OBTENIR Utilisé pour interroger le contenu de la ressource spécifiée.
2 POSTE Utilisé pour transférer des données du client vers le serveur. Modifie l'état d'une ressource sur le serveur.
3 METTRE Utilisé pour transférer des données du client vers le serveur. Crée une nouvelle ressource sur le serveur.
4 SUPPRIMER Supprime la ressource spécifiée sur le serveur.
5 DIRIGER Semblable à GET, mais il n'y a pas de corps de réponse. Obligatoire pour obtenir les en-têtes de réponse
6 OPTIONS Demande au serveur une liste des méthodes prises en charge pour la ressource spécifiée.
7 TRACE méthode des services. Permet de savoir si la requête est modifiée par les serveurs par lesquels elle transite.
8 CONNECTER méthode des services. Utilisé pour établir une connexion sécurisée.

4.2 Méthode GET

La méthode GET est la méthode HTTP la plus populaire. C'est ce que le navigateur appelle lorsqu'il envoie une requête au serveur pour la page suivante.

Par exemple, si vous avez suivi le lien http://codegym.cc/path/resource?param1=value1¶m2=value2 dans le navigateur, alors le navigateur enverra une requête HTTP au serveur CodeGym qui commencera par cette ligne de départ :

GET /path/resource?param1=value1&param2=value2 HTTP/1.1

En conséquence, le serveur devra envoyer une réponse HTTP au navigateur, dans laquelle écrire le statut de la requête, et également envoyer la ressource demandée.

Il est supposé qu'appeler la méthode GET plusieurs fois ne change pas l'état du serveur, et le serveur doit renvoyer la même réponse à chaque fois . Par conséquent, le protocole a un contrôle délicat sur la mise en cache des objets.

Premièrement, les ressources reçues à l'aide de la requête GET, que le navigateur peut mettre en cache de son côté à sa discrétion (il y a des nuances).

Deuxièmement, lors de l'envoi d'une requête au serveur, vous pouvez spécifier un en-tête spécial If-Modified-Sinceet date. Si la ressource/le document demandé a changé depuis la date spécifiée, le serveur l'enverra. S'il n'est pas modifié, le corps de la ressource n'est pas transmis. Il est supposé qu'il est mis en cache sur le client.

La mise en cache des pages (requêtes GET) est utilisée tout le temps, je vous conseille donc de vous pencher sur ce problème.

4.3 Méthodes POST et PUT

La méthode POST est utilisée pour mettre à jour une ressource sur le serveur. Par exemple, lorsque vous téléchargez une image sur le serveur, votre navigateur envoie une requête POST.

Considérez une requête HTTP qui commencera par cette ligne de départ :

POST /path/resource?param1=value1&param2=value2 HTTP/1.1
headers…

<request body>

En conséquence, le serveur devra envoyer une réponse HTTP au navigateur, dans laquelle il écrira le statut de la requête, et enverra également la ressource modifiée. Appeler la méthode POST plusieurs fois modifie l'état du serveur et le serveur peut renvoyer une réponse différente à chaque fois .

GET et POST sont les deux requêtes les plus courantes sur le Web. Pour vous aider à vous souvenir plus facilement du fonctionnement des méthodes, considérez le tableau suivant :

OBTENIR POSTE METTRE
Demande URL uniquement URL et corps de la requête URL et corps de la requête
Répondre Code et corps de la réponse Code et corps de la réponse Code de réponse

Vous pouvez en savoir plus sur la requête POST sur le lien .

4.4 Méthode SUPPRIMER

Et enfin, des informations sur la méthode DELETE . Tout est simple ici.

Par exemple, nous voulons supprimer une certaine ressource sur le serveur. Nous lui envoyons une demande du type :

DELETE  /path/resource?param1=value1&param2=value2 HTTP/1.1

Dès réception de cette demande, le serveur supprimera la ressource spécifiée. À moins, bien sûr, que vous ayez le droit de le supprimer.