Le protocole HTTP
Notions théoriques
Le protocole HTTP (HyperText Transfer Protocol) est le fondement de toute communication de données sur le Web.
Les requêtes HTTP
Lorsqu'un client (généralement un navigateur Web) envoie une requête HTTP à un serveur, le serveur envoie une réponse HTTP en retour.
Les requêtes HTTP sont composées de 4 parties :
- Méthode : Le type d'action que le client souhaite effectuer. Les plus courantes sont GET (récupérer des données) et POST (envoyer des données).
- URL : L'adresse où la requête est envoyée.
- En-têtes : Informations supplémentaires sur la requête ou la réponse.
- Corps : Les données réelles envoyées ou reçues.
Les méthodes HTTP définissent le type d'action que le client souhaite effectuer.
Les 2 méthodes les plus couramment utilisées sont GET et POST.
- GET : Cette méthode est utilisée pour récupérer des informations du serveur en utilisant une URL spécifique.
Par exemple, lorsque vous tapez une adresse de site Web dans votre navigateur, vous effectuez une requête GET. Les requêtes GET sont sans effet sur les ressources du serveur, elles ne modifient pas l'état du serveur. Elles sont idéales pour les actions de lecture seule où aucune donnée n'est modifiée sur le serveur.
- POST : Cette méthode est utilisée pour envoyer des données au serveur.
Par exemple, lorsque vous remplissez un formulaire sur un site Web et que vous appuyez sur "envoyer" ou "soumettre", vous effectuez généralement une requête POST. Les requêtes POST peuvent modifier l'état du serveur, par exemple en ajoutant une nouvelle information dans une base de données.
Une différence importante entre les 2 méthodes est :
- que les requêtes GET incluent toutes les informations dans l'URL,
- tandis que les requêtes POST envoient les informations dans le corps de la requête.
Cela signifie que les requêtes POST peuvent envoyer beaucoup plus d'informations que les requêtes GET, et ces informations peuvent être de types variés (pas seulement du texte).
Et comme les informations envoyées avec une requête POST ne sont pas visibles dans l'URL, cette méthode est plus sûre pour envoyer des informations sensibles, comme des mots de passe.