Aller au contenu principal

Informatique · Seconde · 5 min de lecture

Le Web : pages, adresses et requêtes

Le Web est un système de pages reliées par des liens hypertextes et accessibles par Internet ; une page est écrite en HTML (contenu et structure, balises) et mise en forme par CSS (style) ; chaque page a une adresse unique, l'URL, qui se décompose en protocole, nom de domaine et chemin ; le navigateur (client) envoie des requêtes HTTP au serveur, qui renvoie des pages stockées ou fabriquées à la demande ; HTTPS chiffre les échanges ; repères historiques (naissance du Web au CERN en 1989) ; notions juridiques (licence, droit d'auteur, droit d'usage) ; réglages de sécurité et de confidentialité du navigateur (cookies).

Chapitre du programme : Sciences numériques et technologie

Bloc 1 sur 7 · Comprendre

Comprendre : des pages reliées par des liens

Le Web est un ensemble de pages reliées entre elles par des liens hypertextes, et accessibles par le réseau Internet. Il est né au CERN en 1989. Le Web n'est pas Internet : c'est un service qui utilise Internet, comme le courrier électronique en est un autre.

Une page est écrite en HTML : des balises décrivent son contenu et sa structure (titre, paragraphe, lien…). La balise <a href="…"> crée un lien vers une autre page.

<!DOCTYPE html>
<html lang="fr">
  <head>
    <meta charset="utf-8">
    <title>Cours de SNT</title>
    <link rel="stylesheet" href="style.css">
  </head>
  <body>
    <h1>Le Web</h1>
    <p>Voir le <a href="https://lycee.example.org/cours/snt/index.html">plan du cours</a>.</p>
  </body>
</html>

Sa mise en forme (couleurs, polices, marges) est décrite à part, dans une feuille de style CSS, ici le fichier style.css :

h1 {
  color: darkblue;
}
p {
  font-family: sans-serif;
}

Le HTML dit ce qu'est chaque élément ; le CSS dit à quoi il ressemble.

Bloc 2 sur 7 · Approfondir

Approfondir : URL, HTTP et modèle client-serveur

L'URL. Une page est accessible par une URL ; plusieurs URL peuvent conduire à la même ressource. Pour les URL simples de cette leçon, sans identifiant, port, paramètres ni fragment, on distingue :

  • le protocole, écrit avant « :// » (http ou https) ;
  • le nom de domaine, qui désigne le serveur, de « :// » jusqu'à la première barre oblique ;
  • le chemin de la ressource sur ce serveur, qui commence par « / » et se termine souvent par un nom de fichier.

Dans une URL générale, la partie après // est une autorité : elle peut inclure un identifiant et un port. Le chemin exclut les paramètres de requête après ? et le fragment après #. Python distingue notamment netloc (autorité) et hostname (hôte) ; ils coïncident dans les exemples simples ci-dessous. Python sait découper une URL :

from urllib.parse import urlsplit

u = urlsplit("https://lycee.example.org/cours/snt/index.html")
print(u.scheme)
print(u.netloc)
print(u.path)
print(u.path.split("/")[-1])
https
lycee.example.org
/cours/snt/index.html
index.html

Le modèle client-serveur. Le navigateur est le client : il envoie au serveur désigné par le nom de domaine une requête HTTP, par exemple une requête GET qui demande le chemin /cours/snt/index.html. Le serveur répond avec un code d'état (200 : la page est trouvée et envoyée ; 404 : ressource non trouvée, ou existence non divulguée par le serveur) et le contenu demandé. Ce contenu peut être un fichier stocké sur le serveur ou une page fabriquée à la demande par un programme.

HTTPS est HTTP chiffré : si la connexion TLS est valide et les extrémités non compromises, un tiers placé entre le navigateur et le serveur ne peut normalement ni lire ni modifier les échanges, et le serveur doit prouver, par un certificat, qu'il est bien celui du nom de domaine. Le cadenas ne dit rien de l'honnêteté du site lui-même.

Droit et réglages. Une page publiée reste soumise au droit d'auteur : la réutiliser dépend de sa licence et des droits d'usage accordés. Le navigateur propose des paramètres de sécurité et de confidentialité, dont la gestion des cookies.

Bloc 3 sur 7 · Exemple

Exemple guidé : décomposer une URL

Énoncé. Dans l'URL http://musee.example.net/images/archives/carte.png, quel morceau est le nom de domaine ? le chemin ? le nom du fichier ?

Méthode.

  1. Protocole : ce qui précède « :// », soit http (non chiffré).
  2. Nom de domaine : de « :// » jusqu'à la première « / », soit musee.example.net.
  3. Chemin : à partir de cette « / », soit /images/archives/carte.png.
  4. Nom du fichier : le dernier morceau du chemin, carte.png.
from urllib.parse import urlsplit

u = urlsplit("http://musee.example.net/images/archives/carte.png")
print(u.scheme, u.netloc, u.path, u.path.split("/")[-1])
http musee.example.net /images/archives/carte.png carte.png

Bloc 4 sur 7 · Visualiser

Voir : les morceaux d'une URL

URL : https://lycee.example.org/cours/snt/index.html

Tableau : Morceau, Valeur, Rôle
MorceauValeurRôle
Protocolehttpsrègles de l'échange (ici chiffré)
Nom de domainelycee.example.orgle serveur à contacter
Chemin/cours/snt/index.htmlla ressource sur le serveur
Nom du fichierindex.htmldernier morceau du chemin
Tableau : Étape, Qui, Quoi
ÉtapeQuiQuoi
1client (navigateur)envoie une requête HTTP GET au serveur lycee.example.org
2serveurtrouve ou fabrique la page, répond avec le code 200
3clientaffiche la page en appliquant le CSS

Continuez sur votre lancée

Vous avez découvert l’essentiel et un exemple. Retrouvez la suite du cours et les points à retenir, puis passez à l’entraînement guidé dans votre compte.

  • Les formules et les repères à retenir
  • Les erreurs fréquentes expliquées
  • Un exercice avec des aides et sa correction

L’accès gratuit comprend les cours et exercices de votre niveau choisi.

Sources

  • BO spécial n°1 du 22 janvier 2019 — programme de sciences numériques et technologie de seconde générale et technologique, annexe (https://cache.media.education.gouv.fr/file/SP1-MEN-22-1-2019/08/5/spe641_annexe_1063085.pdf) — thème « Le Web »
  • RFC 3986, Uniform Resource Identifier (URI): Generic Syntax, IETF, 2005 (https://www.rfc-editor.org/rfc/rfc3986) — section 3, « Syntax Components » (schéma, autorité, chemin)
  • RFC 9110, HTTP Semantics, IETF, 2022 (https://www.rfc-editor.org/rfc/rfc9110) — méthode GET, champ Host, codes d'état 200 et 404 ; section 4.2.2, schéma « https » (serveur authentifié, confidentialité et intégrité des échanges)
  • Documentation officielle de Python 3, The Python Language Reference et The Python Standard Library (https://docs.python.org/3/) — The Python Standard Library, urllib.parse.urlsplit

Vous pensez avoir trouvé une erreur dans cette leçon ? Signalez-la par e-mail.

Explorer les autres cours

Accès rapide