Récapitulatif : notions de base sur HTTP
Leçon 25 sur 47 du cours Réseautage avec le terminal de Coddy.
HTTP est du texte dans une forme fixe, dans les deux sens.
Une requête est composée d’une méthode, d’un chemin et d’une version, puis d’en-têtes, puis d’une ligne vide, puis éventuellement d’un corps. Une réponse est composée d’une version et d’un code d’état, puis d’en-têtes, puis d’une ligne vide, puis du corps.
La méthode indique le type d’opération : GET lit et doit être sans danger, POST soumet, PUT stocke, DELETE supprime.
Le code d’état indique comment cela s’est passé, et le premier chiffre désigne le responsable : les 2xx ont fonctionné, les 3xx indiquent d’aller ailleurs, les 4xx signifient que votre requête était incorrecte, les 5xx que le serveur a rencontré un problème.
Les en-têtes décrivent le corps, surtout Content-Type. Et chacun de ces éléments est quelque chose que vous pouvez saisir à la main, ce qu’il vaut la peine de retenir la prochaine fois que HTTP vous semblera magique.
Défi
ExpertLisez une réponse entière, de haut en bas, provenant d’un serveur que vous avez écrit vous-même.
Servez une réponse écrite à la main sur le port 9115, dont la ligne d’état est HTTP/1.1 404 Not Found, avec un en-tête Content-Type: text/plain et le corps nothing here. Utilisez ensuite curl pour afficher le code d’état et, à la ligne suivante, le corps.
Sortie attendue :
404
nothing hereChaque
nc -lsert un client et se termine, alors démarrez-en un deuxième avant la deuxième requête.
Essayez vous-même
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Réseautage avec le terminal
1Comment les réseaux communiquent
Qu’est-ce qu’un réseauClients et serveursAdresses IPVotre première requête2Noms et DNS
Pourquoi les noms existentLe fichier hostsRechercher un nomTypes d’enregistrementsRécapitulatif : les noms5HTTP à la main
Anatomie d’une requêteMéthodes de requêteCodes d’étatEn-têtes de réponseRédiger une réponseRécapitulatif : notions de base sur HTTP3Ports et sockets
Qu’est-ce qu’un portPorts bien connusLocalhostÉcoute ou connexionRécapitulatif : les ports6curl en profondeur
Afficher les en-têtesEnregistrer les réponsesEn-têtes personnalisésStatut et duréeCodes de sortie de curlRécapitulatif : options de curl9Authentification et débogage
Clés API et BearerL’agent utilisateurDélais d’attente et nouvelles tentativesLire un échecRécapitulatif : débogageEntraînez-vous par vous-même : Playground Terminal