Serveur Web

Protocoles et Normes
Logiciels et matériel qui servent le contenu Web aux clients via les protocoles HTTP/HTTPS.
← Retour au Glossaire

Qu'est-ce qu'un serveur Web ?

Un serveur Web est un logiciel, ainsi que le matériel qui l'exécute, acceptant les requêtes HTTP/HTTPS des clients et diffusant du contenu Web, notamment des pages HTML, des images, des feuilles de style, des scripts et des réponses d'API.

Comment fonctionnent les serveurs Web

HTTP Request/Response Cycle:

Client (Browser) Web Server

│ │

│──── HTTP Request ──────────►│

│ GET /index.html │

│ Host: example.com │

│ │

│ Process Request

│ ├── Parse URL

│ ├── Check permissions

│ ├── Locate resource

│ └── Prepare response

│ │

│◄─── HTTP Response ──────────│

│ 200 OK │

│ Content-Type: text/html │

│ <html>...</html> │

│ │

Logiciel de serveur Web populaire

ServeurPart de marchéMeilleur pour
nginx~34%Nombre élevé de connexions simultanées, proxy inverse
Apache~31%Flexibilité, .htaccess
Cloudflare~21%CDN, informatique en périphérie
LiteSpeed~12%Hébergement WordPress
IIS~6%Environnements Windows/.NET

Fonctions du serveur Web

FonctionDescription
Diffusion de fichiers statiquesHTML, CSS, JS, images
Terminaison TLS/SSLChiffrement HTTPS
Proxy inverseTransférer les requêtes vers les serveurs principaux
Équilibrage des chargesRépartir le trafic
Mise en cacheRéduire la charge du serveur principal
CompressionEncodage Gzip/Brotli
Contrôle d'accèsAuthentification, filtrage IP
JournalisationJournaux des requêtes et des erreurs

Exemples de configuration du serveur

# nginx - Virtual host configuration

server {

listen 80;

listen 443 ssl;

server_name example.com;

root /var/www/example;

index index.html;

ssl_certificate /etc/ssl/cert.pem;

ssl_certificate_key /etc/ssl/key.pem;

location / {

try_files $uri $uri/ =404;

}

location /api {

proxy_pass http://localhost:3000;

}

}

# Apache - .htaccess example

RewriteEngine On

RewriteCond %{HTTPS} off

RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

# Enable compression

<IfModule mod_deflate.c>

AddOutputFilterByType DEFLATE text/html text/css application/javascript

</IfModule>

Architecture du serveur Web

Modern Web Stack:

Internet

│

▼

┌─────────────┐

│ CDN/WAF │

└─────────────┘

│

▼

┌─────────────┐

│ Load Balancer│

└─────────────┘

│ │

┌─────┘ └─────┐

▼ ▼

┌───────────┐ ┌───────────┐

│ Web Server│ │ Web Server│

│ (nginx) │ │ (nginx) │

└───────────┘ └───────────┘

│ │

└────────┬────────┘

▼

┌─────────────┐

│ App Server │

│ (Node/Python)│

└─────────────┘

│

▼

┌─────────────┐

│ Database │

└─────────────┘

Identification du serveur

Méthode de détectionInformations révélées
En-tête du serveurNom/version du logiciel
En-têtes de réponseIndices sur la pile technologique
Pages d'erreurModèles de serveur par défaut
Schémas temporelsComportement propre au serveur
Extensions de fichiersIndicateurs de la plateforme

Considérations en matière de sécurité

1. Masquer les informations de version : supprimer la version du serveur des en-têtes

2. Désactiver la liste des répertoires : empêcher l'énumération des fichiers

3. Configurer correctement TLS : protocoles modernes, chiffrements robustes

4. Limiter la taille des requêtes : empêcher les attaques par déni de service

5. Définir les en-têtes de sécurité : CSP, HSTS, X-Frame-Options

6. Mettre à jour régulièrement : corriger rapidement les vulnérabilités

Optimisation des performances

TechniqueAvantages
Keep-aliveRéutiliser les connexions
Gzip/BrotliRéponses plus petites
Mise en cache statiqueRéduire les entrées-sorties du disque
Réglage des workersGérer davantage d'utilisateurs simultanés
HTTP/2Demandes multiplexées

Meilleures pratiques

1. Choisir selon les besoins : nginx pour le proxy, Apache pour la flexibilité

2. Séparer le statique et le dynamique : CDN pour le statique, serveur pour le dynamique

3. Surveiller les ressources : CPU, mémoire et connexions

4. Mettre en cache : navigateur, proxy et côté serveur

5. Configurer la journalisation : journaux structurés pour l'analyse

6. Prévoir la montée en charge : équilibrage des charges et mise à l'échelle horizontale

Les serveurs Web sont la base de l'infrastructure Web, s'occupant de la tâche essentielle de fournir du contenu aux utilisateurs de façon fiable et efficace.

Mettez Vos Connaissances en Pratique

Utilisez l'API de DomScan pour vérifier la disponibilité des domaines, la santé et bien d'autres choses.