Comprenez la mécanique interne d'un serveur web : boucle d'écoute sur les ports réseau (80 HTTP, 443 HTTPS), cycle de vie d'une requête HTTP, négociation TLS et distribution des flux.
Écoute permanente des paquets TCP entrants sur les ports standardisés 80 et 443.
Échange de clés cryptographiques asynchrones avant le premier transfert de données.
Gestion de dizaines de milliers de connexions simultanées via une boucle d'événements (Event Loop).
Traçabilité intégrale de chaque requête dans access.log et error.log.
# 1. Vérifier quels processus écoutent sur les ports 80 et 443
$ sudo ss -tulpn | grep -E ':(80|443)'
tcp LISTEN 0 511 0.0.0.0:80 0.0.0.0:* users:(("nginx",pid=1240,fd=6))
tcp LISTEN 0 511 0.0.0.0:443 0.0.0.0:* users:(("nginx",pid=1240,fd=7))
# 2. Tester le temps de traitement interne et la latence
$ curl -I https://mon-serveur.com
HTTP/2 200
server: nginx/1.24.0
date: Sun, 11 Oct 2026 12:45:00 GMT
content-type: text/html; charset=UTF-8
strict-transport-security: max-age=31536000| Critère | Serveur Web (Nginx, Apache) | Serveur Applicatif (Node.js, PHP-FPM, Python) |
|---|---|---|
| Mission principale | Réception réseau, terminaison SSL, fichiers statiques, reverse proxy | Logique métier, algorithmes, requêtes SQL, sessions |
| Vitesse sur assets statiques | Extrêmement véloce (géré au niveau du kernel sans interpréteur) | Plus lent s'il doit servir des fichiers statiques directement |
| Gestion de la mémoire | Empreinte ultra-faible (quelques Mo de RAM) | Dépend de l'application (50 Mo à plusieurs Go de RAM) |
| Exposition publique directe | Recommandée (sécurité éprouvée et robuste) | Déconseillée (à masquer derrière Nginx) |