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 Web Server est un logiciel (et le matériel l'exécutant) qui accepte les demandes HTTP/HTTPS des clients et livre du contenu Web incluant des pages HTML, des images, des feuilles de style, des scripts et des réponses 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%Haute concordance, proxy inversé
Apache-31%Flexibilité, .htaccess
Nuageux~21%CDN, calcul de bord
LiteSpeed~12%Hébergement WordPress
IIES~6%Environnements Windows/.NET

Fonctions du serveur Web

FonctionDésignation des marchandises
Fichier statique servantHTML, CSS, JS, images
Terminaison TLS/SSLChiffrement HTTPS
Proxy inverséTransférer vers les serveurs de sauvegarde
Équilibrage des chargesDistribuer le trafic
CacheRéduire la charge du moteur
CompressionEncodage Gzip/Brotli
Contrôle d'accèsAuthentification, filtrage IP
Exploitation forestièreRegistres des demandes/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éponseLa technologie empile des indices
Pages d'erreurModèles de serveur par défaut
Modèles de calendrierComportement spécifique au serveur
Extensions de fichiersIndicateurs de la plateforme

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

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

2. Désactiver la liste des répertoires : Prévenir le dénombrement des fichiers

3. Configurer correctement TLS: Protocoles modernes, chiffres forts

4. Tailles limites de la demande: Prévenir les attaques DoS

5. En-têtes de sécurité de l'ensemble: CSP, HSTS, X-Frame-Options

6. Mises à jour périodiques : Vulnérabilités des lots rapidement

Optimisation des performances

TechniqueAvantages
Garder en vieRéutiliser les connexions
Gzip/BrotliPlus petites réponses
Cache statiqueRéduire le disque I/O
Calibrage des travailleursGérer plus d'utilisateurs concomitants
HTTP/2Demandes multiplexées

Meilleures pratiques

1. Choisir en fonction des besoins: nginx pour le proxy, Apache pour la flexibilité

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

3. Ressources de veille: CPU, mémoire, connexions

4. Mise en cache: Navigateur, proxy et côté serveur

5. Configurer l'enregistrement: Registres structurés pour analyse

6. Plan pour l'échelle: Équilibrage des charges, é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.