Le schéma choisit le port
Leçon 39 sur 47 du cours Réseautage avec le terminal de Coddy.
http:// et https:// diffèrent par bien plus qu’une lettre. Le schéma détermine deux choses : le port par défaut à utiliser, 80 ou 443, et s’il faut démarrer une négociation TLS avant d’envoyer quoi que ce soit.
Cette négociation est la première chose qui se produit, avant même qu’une ligne de requête soit écrite. Les deux parties se mettent d’accord sur le chiffrement et le serveur présente son certificat. Ce n’est qu’ensuite que le HTTP que vous connaissez est envoyé, à l’intérieur du canal chiffré.
Un port parle donc TLS ou ne le parle pas. Demandez https:// à un port HTTP simple et il n’y a pas de repli courtois : la négociation échoue immédiatement et curl renvoie le code de sortie 35, une erreur de connexion SSL.
C’est important à reconnaître, car on pourrait croire que le serveur est hors service alors qu’il diffuse parfaitement du HTTP simple avec un autre schéma.
Défi
DifficileDemandez à un serveur HTTP simple TLS et regardez-le refuser.
- Servez un dossier sur le port 9129 de la manière habituelle, c’est-à-dire en HTTP simple
- Demandez
https://127.0.0.1:9129/et afficheztls=suivi du code de sortie de curl
Sortie attendue :
tls=3535 est le code de curl correspondant à une erreur de connexion SSL.
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 HTTP8HTTPS et TLS
Pourquoi HTTPSLe schéma choisit le portCertificats et confianceQuand TLS échoueRécapitulatif : HTTPS3Ports 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