HTTP : comprenez le dialogue du Web
Requêtes, réponses et statuts : le vocabulaire commun du navigateur et du serveur.
Où en êtes-vous avec cette notion ?
Une indication personnelle, enregistrée uniquement dans ce navigateur.
À lire ensuite
Le format café
L’essentiel à comprendre, le temps d’un café.
Envie de creuser ? Un cours plus complet vous attend juste après, à déplier sans quitter cette page.
Une requête, une réponse
Le client envoie une méthode, une cible, des en-têtes et parfois un corps. Le serveur répond avec un statut, des en-têtes et éventuellement une représentation.
Lire un échange
GET /lessons HTTP/1.1
Host: example.com
Accept: application/json
Un statut 200 indique une réussite. 404 signifie que la ressource n’a pas été trouvée. 401 concerne une authentification absente ou invalide, tandis que 403 indique que le serveur refuse l’accès.
Les bons réflexes
GET doit être sans effet de bord demandé par le client. Réservez les méthodes d’écriture aux changements. Utilisez HTTPS pour protéger le transport.
Fiche mémo
Une URL identifie une ressource. La méthode exprime l’intention. Le statut résume le résultat. Les en-têtes portent des métadonnées.
Et si on allait plus loin ?
Le café vous a donné les repères. Prenez maintenant le temps de comprendre les mécanismes et de pratiquer, si vous le souhaitez.
Aller plus loinComprendre les méthodes et une réponse mise en cacheDévelopper le coursReplier le cours
Ce que vous saurez faire
Interpréter l’intention d’une requête et distinguer une réponse fraîche d’une réponse revalidée. Les exemples sont des échanges illustratifs, pas des endpoints actifs.
1. Une méthode est un contrat
GET demande une représentation sans demander de changement d’état. POST soumet des données à traiter. PUT exprime le remplacement de l’état d’une ressource cible. Le serveur doit implémenter ces intentions : le nom de la méthode ne les garantit pas à lui seul.
Une opération est idempotente si la répéter a le même effet voulu que l’exécuter une fois. Cela ne signifie pas que toutes ses réponses sont identiques. Supprimer une ressource puis redemander sa suppression peut produire des statuts différents sans la supprimer deux fois.
Après un délai réseau, ne rejouez pas aveuglément une création via POST : la première requête peut avoir réussi sans que sa réponse soit arrivée. Une API doit prévoir sa propre stratégie contre les doublons si cela compte pour le métier.
Référence : sémantique HTTP.
2. Fraîcheur et revalidation ne sont pas la même chose
Un serveur peut autoriser la réutilisation d’un cours public pendant une durée limitée :
HTTP/1.1 200 OK
Content-Type: application/json
Cache-Control: public, max-age=60
ETag: "cours-v3"
{"title":"Comprendre HTTP"}
Une fois la réponse périmée, le client peut envoyer If-None-Match: "cours-v3". Si la représentation n’a pas changé, le serveur peut répondre 304 Not Modified, sans retransmettre son corps. Le client réutilise alors la représentation stockée selon les métadonnées de cache actualisées.
no-cache permet le stockage mais impose une revalidation avant réutilisation. no-store interdit le stockage de cet échange par les caches concernés ; ce n’est pas une commande universelle pour effacer d’anciennes copies. Ne marquez pas des notes privées public : un cache partagé ne doit pas les servir à un autre utilisateur.
Référence : cache HTTP.
À vous de jouer
Votre navigateur reçoit un 304 sur un cours. Le corps est vide. Faut-il afficher « aucun contenu » ? Que vérifier si une modification éditoriale tarde à apparaître ?
Correction commentée
Non : le 304 indique de réutiliser une représentation déjà stockée, pas une ressource vide. Examinez les en-têtes de fraîcheur, le validateur ETag et les éventuels caches intermédiaires. Ne commencez pas par ajouter une query string aléatoire partout : cherchez d’abord quelle règle autorise l’ancienne version à rester visible.
Vous pouvez aussi vous arrêter ici. L’approfondissement est facultatif.
Les repères Cours Café
Pour aller à la source
Documentation de référence. Vérification éditoriale encore à effectuer.
Gardez une trace de cette idée.
Favoris, notes et progression seront disponibles après connexion du stockage distant.