Web
Le Web est l'ensemble des documents et des services disponibles sur Internet accessibles via le protocole HTTP(S). Une caractéristique essentielle du Web est la capacité de passer d'un service à un autre par des liens hypertexte. Ces liens forment le réseau d'où le Web (toile en anglais) tire son nom.
Un site Web est quant à lui un ensemble de pages Web liées entre elles, traitant d'un même sujet et visibles sur un même nom de domaine.
HTTP et navigation
Pour accéder à un site Web, il faut utiliser un client Web, communément appelé navigateur, par exemple : Firefox, Chromium, Google Chrome, Opera…
URL
On passe généralement par un moteur de recherche pour trouver un site, mais on peut aussi saisir directement l'adresse d'une page web pour l'afficher. On parle alors d'URL.
Une URL est donc l'adresse d'un contenu Web spécifique.
Une URL se compose ainsi (sans crochet ni espace) :
- Dans le domaine du Web, les protocoles sont HTTP ou HTTPS. Généralement il n'est pas nécessaire de saisir le protocole dans la barre d'adresses, le navigateur web l'ajoute automatiquement si il est manquant. Le protocole est même masqué par défaut dans la barre d'adresse de certains navigateurs.
- L'hôte peut être soit une adresse IP soit un nom de domaine avec ou sans sous-domaine.
Historiquement et dans le cas d'une configuration simple, les affirmations suivantes s'appliquent mais elles peuvent être rendues fausses par les fonctionnalités de réécriture d'URL disponibles avec la plupart des serveurs web, et qu'on utilise couramment pour un meilleur référencement ou plus de pertinence sémantique :
- Le chemin correspond au chemin de la ressources sur le support de stockage du serveur, relativement à la racine de l'hôte (DocumentRoot pour Apache).
- Le nom de la page web correspond au nom du fichier appelé sur le support de stockage du serveur. Il peut s'agir d'une page web HTML, mais aussi d'un script, d'une image, ou autre.
- La chaîne de requête permet principalement de faire passer des variables à un script exécuté par le serveur web ou éventuellement par le navigateur (on parle de variables GET).
- Le signet permet d'accéder directement à un certain emplacement de la page (un chapitre ou un élément en particulier) lors de son premier affichage (le navigateur scrolle dans la page).
Pour un client web il est seulement obligatoire de spécifier le protocole et l'hôte. C'est généralement l'adresse de la page d'accueil des sites qui est dans ce cas affichée par défaut (voir Index).
HTTP
En anglais, HTTP est l'acronyme de Protocole de Transfert HyperTexte.
Un document hypertexte est un document contenant des hyperliens. Il s'agit généralement de documents HTML. Les hyperliens sont des liens vers d'autres URL. Ils permettent d'établir un réseau entre les documents, les services, et avec d'autres formes de contenu (images, documents, multimédia…).
HTTPS est une version sécurisée du HTTP, qui implique que les informations échangées entre le navigateur et le serveur web soient chiffrées.
HTTP utilise par défaut le port 80, et HTTPS le port 443.
Il existe une extension du protocole HTTP appelée WebDAV qui permet de récupérer, envoyer et synchroniser des fichiers via le protocole HTTP. WebDAV a lui-même été étendu aux protocoles CalDAV et CardDAV qui permettent de gérer des agendas et des carnets d'adresses via le web.
Clients
Les clients web les plus couramment utilisés sont les navigateurs : Firefox, Chromium, Google Chrome, Opera, etc.
Les autres clients HTTP sont par exemple, les robots d'indexation, les aspirateurs de site ou les agrégateurs web.
Pour l'envoi, récupération et synchronisation de fichiers avec WebDAV, le client est souvent le gestionnaire de fichiers : Dolphin, Nautilus,… et utilise parfois des noms de protocoles non standard tels que davs (GNOME) ou webdav (KDE) (le nom standard du protocole est dav).
Pour la synchronisation des contacts et agenda, les clients sont généralement les applications de gestion d'informations personnelles (PIM) de l’environnement de bureau, ou des clients de messagerie qui implémentent ce type de synchronisation : Evolution, Kontact,…
Serveurs
Un serveur web est une machine fournissant l'ensemble des services permettant de mettre à disposition du contenu web. Son centre névralgique est donc le serveur HTTP.
Les serveurs HTTP les plus utilisés sur Internet sont Apache et Nginx. En plus de ces deux serveurs, les serveurs Lighttpd et Caddy sont également disponibles sous Ubuntu.
Pour plus de détails sur le fonctionnement d'un serveur web, voir le chapitre Mode de fonctionnement sommaire dans la documentation d'Apache.
Les applications et les langages de développement pour le web possèdent aussi souvent leur propre serveur HTTP intégré, c'est le cas pour PHP, Python, NodeJS, etc.
De nombreuses applications implémentent aussi de petits serveurs web parmi leurs fonctionnalités (clients BitTorrent, outil de synchronisation à distance, etc.).
Un serveur web est rarement constitué uniquement d'un service HTTP. C'est le plus souvent une pile logicielle comprenant un serveur HTTP, un interpréteur de scripts et un système de gestion de bases de données.
On utilise couramment la pile LAMP : Linux + Apache + MySQL + PHP, mais d'autres combinaisons existent :
- LEMP = Linux + Nginx + MySQL + PHP
- Linux + Apache + MySQL + Python
- Linux + Apache + PostgreSQL + PHP
- Linux + NodeJS + PostgreSQL
- etc.
Pour utiliser un serveur web, on peut soit s'auto-héberger, soit passer par les services d'un hébergeur qui s'occupe principalement de gérer une grande quantité de serveurs entreposés dans un centre de données (datacenter).
Noms de domaines
Les noms de domaine sont les éléments d'adresse Web qui correspondent à un site. Ils s'écrivent sous la forme : [sous-domaine] .[SLD] . [TLD]
Par exemple ubuntu-fr.org
est un nom de domaine, doc.ubuntu-fr.org
en est un sous-domaine.
DNS
Pour communiquer ensemble, les machines d'un réseau, qu'il s'agisse d'ordinateurs personnels ou de serveurs, et qu'il s'agisse d'Internet ou d'un réseau domestique, utilisent des adresses IP, et pas directement des noms de domaine.
Il existe aujourd'hui l'IPv4 et IPv6.
Les noms de domaines sont quant à eux enregistrés chez des prestataires qu'on appelle des registrars. on peut en trouver une liste sur cette page.
Pour connaître l'adresse IP depuis le nom de domaine, l'ordinateur questionne un serveur de nom de domaine (ou DNS, pour Domain Name System ou Domain Name Service).
Ceci peut poser des problèmes de confidentialité des données : un tiers peut avoir la liste des sites que vous consultez. Il arrive aussi que certains résolveurs DNS bloquent volontairement certains domaines (on parle de DNS menteurs). N'hésitez pas à consulter cette page pour en savoir plus à ce sujet, et contourner le problème.
réseau privé
Sur un réseau privé (local) il existe d'autres systèmes qui permettent d'utiliser des noms d'hôtes pour cibler les machines plutôt que leurs adresses IP.
Sur Linux on privilégie mDNS dans la mesure du possible. NetBIOS sera plutôt réservé à des partages avec des machines sous Windows.
Contributeurs : krodelabestiole