Objectifs du chapitre
- Comprendre le service web.
- Distinguer les différentes techniques de virtualisation du web.
- Mettre en place un serveur web Apache.
- Appliquer la technique des hôtes virtuels.
1. Définition
Un service web est une application disponible sur un réseau (internet ou intranet) qui permet à d’autres applications de communiquer et d’échanger des données de façon standardisée, quels que soient leur plateforme, leur langage de programmation ou leur format de données.
Ses deux objectifs :
- Intégrer des systèmes hétérogènes.
- Faciliter l’échange de données en temps réel.
2. Architecture
Les services web fonctionnent sur le modèle client/serveur :
- Client : envoie une requête.
- Serveur : renvoie une réponse avec les données ou les services demandés.
L’URL saisie dans le navigateur se lit en trois parties, de la plus précise à la plus générale :
| Partie | Rôle | Exemples |
|---|---|---|
| Sous-domaine | La machine ou le service visé | www, ftp, doc, mail |
| Domaine de deuxième niveau (SLD) | Le nom réservé par l’organisation | esprit, apache |
| TLD (Top Level Domain) | L’extension | tn, org, com, fr |
Sur l’exemple du cours, http://www.esprit.tn se découpe en www (sous-domaine), esprit (domaine de deuxième niveau) et tn (TLD).
Exemples de services web : pages web, applications web.
3. Types de requêtes
| Méthode | Rôle |
|---|---|
GET | Récupération d’une ressource |
HEAD | En-tête sans le corps de la réponse |
POST | Envoi de données pour traitement |
PUT | Mise à jour d’une ressource |
DELETE | Suppression d’une ressource |
4. Types de réponses
Le premier chiffre du code donne la famille de la réponse :
| Code | Famille | Ce qu’il signifie | Exemple |
|---|---|---|---|
1xx | Informative | La requête a été reçue, le traitement continue | |
2xx | Succès | La requête a abouti | 200 OK |
3xx | Redirection | Le client doit effectuer une action supplémentaire | 301 Déplacé définitivement |
4xx | Erreur côté client | Requête mal formulée ou ressource non trouvée | 404 Not Found |
5xx | Erreur côté serveur | Le serveur a rencontré une erreur en traitant la requête | 500 Internal Server Error |
5. Protocoles HTTP et HTTPS
Ce sont des protocoles de transfert de type client/serveur : un ensemble de règles permettant de transférer des fichiers, texte comme image, sur le web.
| HTTP | HTTPS | |
|---|---|---|
| Nom | Protocole de Transfert Hypertexte | HTTP Sécurisé |
| Port | 80 | 443 |
| Chiffrement | Aucun, requêtes et réponses en texte clair | SSL/TLS |
| Apporte | Communication non sécurisée | Confidentialité, intégrité et authentification |
D’où l’importance de HTTPS pour la protection des données des utilisateurs.
6. Serveur web Apache
- Logiciel de serveur web gratuit et open source.
- Alimente environ 46 % des sites web à travers le monde.
- Maintenu et développé par l’Apache Software Foundation.
- Utilisé pour héberger des sites et des services web.
7. VirtualHost
Le VirtualHost permet d’héberger plusieurs sites web sur un même serveur web dédié. Trois techniques existent, selon ce qui distingue les sites entre eux.
VirtualHost par nom
Plusieurs sites sur une même adresse IP, distingués par le nom de domaine. Le serveur identifie le site demandé grâce au nom de domaine spécifié dans la requête HTTP, via l’en-tête Host.

VirtualHost par IP
Plusieurs sites sur un même serveur, mais avec des adresses IP différentes. Chaque site nécessite une adresse IP unique, et le serveur dirige la requête vers le bon site en fonction de l’adresse IP de destination.

VirtualHost par port
Des ports différents distinguent les sites hébergés sur le même serveur et la même adresse IP. Utile lorsqu’on veut isoler certains services par port.

Comparatif
| Technique | Ce qui distingue les sites | Ce qu’il faut | Quand l’utiliser |
|---|---|---|---|
| Par nom | L’en-tête Host de la requête | Une seule IP, un port | Le cas courant : plusieurs domaines sur un même serveur |
| Par IP | L’adresse IP de destination | Une IP par site | Quand chaque site doit avoir sa propre adresse |
| Par port | Le port demandé | Une IP, plusieurs ports | Pour isoler un service sur son propre port |