Lisez une vraie requête et une vraie réponse, et apprenez ce que veulent dire 200, 404 et 500.
Ouvrir cette leçon dans KodokonHTTP (HyperText Transfer Protocol) est la langue que le navigateur et le serveur parlent entre eux. Bonne nouvelle : ce n'est pas du binaire incompréhensible, c'est du texte lisible. Une requête tient en quelques lignes : un verbe, une adresse, puis des en-têtes qui précisent le contexte (quelle langue je préfère, quel navigateur j'utilise). La réponse suit le même format : un code chiffré, des en-têtes, une ligne vide, puis le contenu.
curl -i https://example.com
HTTP/2 200
content-type: text/html; charset=UTF-8
content-length: 1256
cache-control: max-age=86400
<!doctype html>
<html>
...Le verbe placé au début d'une requête s'appelle une méthode, et il annonce votre intention. GET demande simplement à lire une ressource : c'est ce que fait le navigateur chaque fois que vous ouvrez une page. POST envoie des données au serveur, typiquement quand vous validez un formulaire d'inscription. PUT met à jour un élément existant, et DELETE demande sa suppression. Retenez surtout les deux premières : elles représentent l'écrasante majorité du trafic.
curl -X POST -d "prenom=Sarah&age=30" https://httpbin.org/postChaque réponse commence par un code de statut à trois chiffres. Le premier chiffre suffit à comprendre la situation. Les codes en 2xx annoncent une réussite : 200 veut dire « voici ce que tu as demandé ». Les 3xx sont des redirections : 301 signifie « cette page a déménagé, va plutôt là-bas ». Les 4xx désignent une erreur du client : 404 (ressource introuvable), 403 (accès interdit), 401 (il faut vous authentifier). Les 5xx désignent une panne du serveur : 500 est l'erreur interne classique.
curl -I https://example.com/cette-page-nexiste-pas
HTTP/2 404
content-type: text/html; charset=UTF-8