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¶m2=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-Since
et 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¶m2=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¶m2=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.