Clients et serveurs
Leçon 2 sur 47 du cours Réseautage avec le terminal de Coddy.
Dans chaque échange, un côté commence la conversation et l’autre attend qu’elle commence. Le côté qui pose la question est le client. Le côté qui attend et répond est le serveur.
Ce sont des rôles, pas des machines. Le même ordinateur est un serveur lorsqu’il répond à une requête web, puis un client une seconde plus tard lorsqu’il interroge une base de données. Votre ordinateur portable est généralement un client, mais dès que vous démarrez un serveur de développement local, c’est aussi un serveur.
Un serveur fait quelque chose de spécifique et légèrement étrange : il démarre, puis attend, sans rien faire, parfois pendant des semaines. Il est en train d’écouter. Lorsqu’une requête arrive enfin, il y répond, puis recommence à attendre.
Le client doit savoir où envoyer sa requête, et le serveur doit écouter au bon endroit pour qu’elle lui parvienne. C’est toute la poignée de main et, lorsque quelque chose ne fonctionne pas, le problème vient presque toujours de l’une de ces deux moitiés.
Défi
FacileMettez un serveur en état d’écoute, puis vérifiez qu’il attend réellement.
- Démarrez un serveur sur le port 9102 en arrière-plan
- Laissez-lui une seconde pour démarrer
- Testez le port avec
nc -zet affichezlisteningsi quelque chose répond, ounothingdans le cas contraire
Sortie attendue :
listening
command && echo a || echo baffichealorsque la commande réussit etblorsqu’elle échoue.
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 noms3Ports 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