Extrait de l'émission CPU release Ex0203 : Aux origines du web.
Avant d'aller plus loin, et comme on va faire une émission très technique, il convient de vous expliquer quelques termes que nous allons employer :
- Serveur :
- Un serveur est un ordinateur, en général allumé en continu et accessible depuis n'importe où sur internet, et qui répond à un protocole donné. Pour les sites web, il y a deux principaux logiciels serveurs qui sont très utilisés : NGinx et Apache. Le logiciel serveur écoute les demandes produites par d'autres machines clientes sur internet pour servir un document correspondant à leur demande.
- Client :
- Un client est celui qui demande une ressource à un serveur pour l'afficher. Parmi les clients du web, vous avez les navigateurs web. Donc Chrome, Firefox, Safari, Tor, Brave. Mais il existe une multitude de clients du web que vous ne soupçonnez pas : les applis natives. Souvent, elles discutent avec des serveurs via une API avec des requêtes et des réponses ultra-minimalistes. Quand vous consultez sur smartphone un e-mail ou un réseau social en natif, en fait, les données passent [souvent] par une API web. Un autre type de client étrange sont les spiders, qui parcourent et indexent les sites pour qu'ils apparaissent dans les moteurs de recherche.
- HTTP :
-
HTTP est l'abréviation de
HyperText Transport Protocol
. Un protocole décrit comment discutent entre eux un serveur et un client sur une application spécifique. En général, pour le web, un client dit à un serveur qu'il demande une URL, avec un verbe d'action avant, bien souvent un simpleGET
,récupérer
, ouPOST
pour envoyer des informations d'un formulaire. - HTML :
-
Le HTML,
HyperText Markup Language
, est le langage avec lequel se présente le web aux humains. C'est un langage de présentation documentaire, qui décrit le rôle des textes, images, boutons d'actions, sur lequel on ajoute un aspect graphique, avec le langage CSS, et de la logique avec le Javascript. À noter que les API ne servent pas de pages en HTML. - Entête :
- Quand on fait une requête à un serveur web, notre serveur va envoyer avant le contenu de l'URL un entête qui contient nombre de métadonnées. Comme les cookies que le logiciel client doit associer au site pour s'identifier, la taille du document, sa date de mise à jour et son type-mime. À noter qu'avec son verbe et son URL, le client envoie aussi un entête, par exemple les cookies qu'il associe au site et la langue pour le contenu qu'il préfère..
- Type MIME (ou MIME type en anglais) :
-
C'est une description du type de média que vous allez télécharger, que le serveur vous communique en entête. Le web a étendu un dispositif similaire qui existait pour les pièces jointes des e-mails, le MIME (
Multipurpose Internet Mail Extension
). Le but est très simple : si vous demandez à votre navigateur une URL particulière, le MIME renseigne le navigateur si c'est une page HTML, un fichier exécutable ou une image qui lui est envoyée, afin de l'afficher correctement. Même si la plupart des ordinateurs personnels utilisaient l'extension du nom de fichier pour s'y repérer, le type MIME a des avantages largement supérieurs, notamment d'être indépendant des systèmes d'exploitation, et d'être normalisé par l'industrie. Il est présenté en trois parties : un mot qui en décrit la famille, un slash, un autre mot qui précise la sous-famille et éventuellement après un point-virgule, des paramètres complémentaires. - URL :
- L'adresse, qu'on va expliquer dans une prochaine émission.
En résumé : Quand vous demandez une page web comme https://cpu.pm
, votre client, le navigateur, envoie sur internet à un serveur web par HTTP un verbe d'ordre suivie d'une URL, qui répondra d'abord avec un entête précisant le statut de la réponse, des cookies et le type MIME du média, puis le contenu du média, qui peut être une page HTML, que votre navigateur affichera.
Auteur : Da Scritch.
Voix complémentaire : Infested Grunt
Illustration : Logo historique du WWW, créé par Robert Cailliau. Constitué de 3 W utilisant la police Optima Bold, selon Cailliau lui-même. Via Wikipedia Domaine public.