Aller au contenu

Le Web : fonctionnement et protocoles⚓︎

Objectifs du chapitre

  • Comprendre ce qu'est une URL et savoir la dĂ©composer
  • ConnaĂ®tre le rĂ´le des liens hypertexte dans le Web
  • Comprendre le modèle client-serveur
  • Comprendre le fonctionnement d'une requĂŞte HTTP

1. URL — Uniform Resource Locator⚓︎

Une URL est l'adresse qui permet de localiser une ressource (page web, image, fichier…) sur Internet. C'est ce que l'on tape dans la barre d'adresse d'un navigateur.

Structure d'une URL⚓︎

đź“‹ Texte
https://www.exemple.fr:443/cours/web.html?page=1#partie2
Composant Valeur RĂ´le
Schéma https Protocole utilisé
HĂ´te www.exemple.fr Nom du serveur
Port 443 Point d'entrée sur le serveur (optionnel)
Chemin /cours/web.html Emplacement de la ressource
Paramètres ?page=1 Données envoyées au serveur (optionnel)
Ancre #partie2 Section dans la page (optionnel)

Ă€ retenir

Le port 80 est celui du protocole http, le port 443 celui du protocole https (sécurisé). Ils sont omis dans l'URL car implicites.

Protocole HTTP vs HTTPS⚓︎

  • HTTP (HyperText Transfer Protocol) : protocole d'Ă©change de base du Web.
  • HTTPS : version sĂ©curisĂ©e de HTTP. Les donnĂ©es Ă©changĂ©es sont chiffrĂ©es grâce au protocole TLS. Ă€ privilĂ©gier pour toute connexion sensible (banque, identifiants…).

2. Les liens hypertexte⚓︎

Définition⚓︎

Un lien hypertexte (ou hyperlien) est un élément cliquable d'une page web qui permet de naviguer vers une autre ressource. C'est Tim Berners-Lee qui invente ce concept en 1989, à l'origine du World Wide Web.

Un lien peut pointer vers :

  • une autre page du mĂŞme site (lien interne)
  • une page d'un autre site (lien externe)
  • une ancre dans la page courante

En HTML⚓︎

HTML
<a href="https://www.exemple.fr/cours/web.html">Accéder au cours</a>

L'attribut href contient l'URL cible. Le texte entre les balises est ce qui s'affiche à l'écran.

Le Web comme un graphe⚓︎

L'ensemble des pages web et de leurs liens forme un immense graphe orienté : chaque page est un nœud, chaque lien hypertexte est un arc. Les moteurs de recherche comme Google exploitent ce graphe (via des algorithmes comme PageRank) pour indexer et classer les pages.


3. Le modèle client-serveur⚓︎

Principe⚓︎

Le Web repose sur une architecture client-serveur :

  • Le client est le logiciel qui formule une demande. En gĂ©nĂ©ral, c'est votre navigateur (Firefox, Chrome…).
  • Le serveur est la machine qui reçoit la demande, traite la requĂŞte et renvoie une rĂ©ponse (la page web, une image, un fichier…).
đź“‹ Texte
Client (navigateur)          Serveur web
        |                        |
        |--- RequĂŞte HTTP ------->|
        |                        |  (traitement)
        |<-- Réponse HTTP --------|
        |                        |

Rôles de chacun⚓︎

Côté client Côté serveur
Envoie la requête Reçoit et traite la requête
Affiche la réponse (HTML, CSS, images…) Renvoie la ressource demandée
Exécute le JavaScript Exécute les scripts serveur (PHP, Python…)
Dépend du navigateur Fonctionne en continu, indépendamment

Exemple concret

Vous tapez https://www.lemonde.fr dans votre navigateur.

  1. Votre navigateur (client) envoie une requĂŞte au serveur de lemonde.fr.
  2. Le serveur cherche la page d'accueil.
  3. Il renvoie le code HTML de la page.
  4. Votre navigateur interprète ce code et affiche la page.

Plusieurs clients, un seul serveur⚓︎

Un serveur peut répondre à de très nombreux clients simultanément. Les grands sites (Google, YouTube…) utilisent en réalité des milliers de serveurs répartis dans le monde (fermes de serveurs).


4. Le protocole HTTP⚓︎

Qu'est-ce qu'une requête HTTP ?⚓︎

HTTP est le protocole qui définit le format des messages échangés entre le client et le serveur. Un échange HTTP se décompose en deux temps :

  1. Le client envoie une requĂŞte HTTP
  2. Le serveur renvoie une réponse HTTP

La requête HTTP⚓︎

Une requĂŞte HTTP contient :

  • une mĂ©thode (ou verbe) : ce que le client veut faire
  • l'URL de la ressource demandĂ©e
  • des en-tĂŞtes (headers) : informations complĂ©mentaires (navigateur utilisĂ©, langue…)
  • Ă©ventuellement un corps (body) : donnĂ©es envoyĂ©es au serveur

Les deux méthodes les plus courantes sont :

Méthode Usage Les données sont…
GET Demander une ressource Dans l'URL (?clé=valeur)
POST Envoyer des données (formulaire, login…) Dans le corps de la requête (non visible)

Exemple de requĂŞte GET :

đź“‹ Texte
GET /cours/web.html HTTP/1.1
Host: www.exemple.fr
User-Agent: Mozilla/5.0
Accept: text/html

La réponse HTTP⚓︎

La réponse du serveur contient :

  • un code de statut indiquant si la requĂŞte a abouti
  • des en-tĂŞtes de rĂ©ponse
  • le corps : la ressource demandĂ©e (HTML, image, JSON…)

Exemple de réponse :

đź“‹ Texte
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 4523

<!DOCTYPE html>
<html>...

Les codes de statut HTTP⚓︎

Code Signification
200 OK Succès, ressource trouvée et renvoyée
301 Moved Permanently Redirection permanente
403 Forbidden Accès refusé
404 Not Found Ressource introuvable
500 Internal Server Error Erreur côté serveur

404 et vie privée

Même quand une page affiche une erreur 404, le serveur a bien reçu votre requête. Il sait donc que vous avez tenté d'accéder à cette URL.


5. Du nom de domaine à l'adresse IP : le DNS⚓︎

Lorsque vous tapez www.exemple.fr, votre ordinateur ne sait pas directement où se trouve ce serveur. Il doit d'abord résoudre ce nom en une adresse IP grâce au système DNS (Domain Name System).

đź“‹ Texte
Navigateur          DNS                Serveur
    |                |                    |
    |-- "exemple.fr ?" ->                 |
    |               |                    |
    |<-- "93.184.216.34" --               |
    |                                    |
    |------------- RequĂŞte HTTP -------->|

Le DNS fonctionne comme un annuaire d'Internet : il traduit les noms de domaine lisibles par les humains en adresses IP utilisables par les machines.


Synthèse⚓︎

Quand vous accédez à une page web, voici ce qui se passe dans l'ordre :

  1. Vous entrez une URL dans le navigateur.
  2. Le navigateur interroge le DNS pour obtenir l'adresse IP du serveur.
  3. Le client (navigateur) envoie une requĂŞte HTTP au serveur.
  4. Le serveur traite la requête et renvoie une réponse HTTP (code de statut + contenu).
  5. Le navigateur interprète le HTML/CSS/JS reçu et affiche la page.
  6. Les liens hypertexte de la page permettent de recommencer le processus.

Exercices⚓︎

Exercice 1 — Décomposer une URL

Décomposez l'URL suivante en identifiant chaque composant :

đź“‹ Texte
https://education.nationale.fr:443/snt/web/index.html?chapitre=2#exercices

Exercice 2 — Codes HTTP

Associez chaque situation Ă  un code de statut HTTP :

a. Vous accédez à votre profil sur un réseau social.
b. Vous tapez une URL avec une faute de frappe.
c. Vous essayez d'accéder à une page réservée aux administrateurs sans vous connecter.
d. Le site est temporairement hors service suite Ă  une panne.

Exercice 3 — Client ou serveur ?

Pour chaque action, dites si elle se passe côté client ou côté serveur :

a. Afficher le menu déroulant lorsque vous cliquez dessus.
b. Vérifier que votre mot de passe est correct lors d'une connexion.
c. Mettre en gras le titre de la page.
d. Rechercher vos messages dans une base de données.