Avatar
📚

Accounts

618 Words

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 :

PartieRôleExemples
Sous-domaineLa machine ou le service viséwww, ftp, doc, mail
Domaine de deuxième niveau (SLD)Le nom réservé par l’organisationesprit, apache
TLD (Top Level Domain)L’extensiontn, 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éthodeRôle
GETRécupération d’une ressource
HEADEn-tête sans le corps de la réponse
POSTEnvoi de données pour traitement
PUTMise à jour d’une ressource
DELETESuppression d’une ressource

4. Types de réponses

Le premier chiffre du code donne la famille de la réponse :

CodeFamilleCe qu’il signifieExemple
1xxInformativeLa requête a été reçue, le traitement continue
2xxSuccèsLa requête a abouti200 OK
3xxRedirectionLe client doit effectuer une action supplémentaire301 Déplacé définitivement
4xxErreur côté clientRequête mal formulée ou ressource non trouvée404 Not Found
5xxErreur côté serveurLe serveur a rencontré une erreur en traitant la requête500 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.

HTTPHTTPS
NomProtocole de Transfert HypertexteHTTP Sécurisé
Port80443
ChiffrementAucun, requêtes et réponses en texte clairSSL/TLS
ApporteCommunication non sécuriséeConfidentialité, 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.

Deux clients vers une seule IP sur le port 80 : le serveur choisit le site avec 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.

Trois sites sur trois adresses IP du même serveur : l’IP de destination choisit le site

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.

Trois sites sur une seule IP, écoutant les ports 80, 81 et 333 : le port choisit le site

Comparatif

TechniqueCe qui distingue les sitesCe qu’il fautQuand l’utiliser
Par nomL’en-tête Host de la requêteUne seule IP, un portLe cas courant : plusieurs domaines sur un même serveur
Par IPL’adresse IP de destinationUne IP par siteQuand chaque site doit avoir sa propre adresse
Par portLe port demandéUne IP, plusieurs portsPour isoler un service sur son propre port