Extrait de l'émission CPU release Ex0213 : Disséquons une URL, première partie.
Une URL indique comment trouver une ressource, sur son ordinateur, sur un réseau informatique, sur internet, qu'importe les logiciels derrière.
En concevant son World Wide Web, Tim Berners-Lee essaie de trouver des points communs entre les différentes manières d'écrire une adresse réseau entre les différents logiciels existants. Son but ? Lier dans une page web n'importe quel document en ligne et l'appeler depuis son navigateur web, lequel ouvrira le bon logiciel avec les bons paramètres. Berners-Lee va établir une topologie des différents adressages existants, trouver les points communs, et écrire des définitions assez laxistes… Entre nous, créer un truc tout neuf compatible avec rien du tout, tout le monde l'aurait boudé. Son but avoué est que son nouveau système d'adressage soit aussi adopté par les autres logiciels et autres protocoles avec un minimum d'adaptation.
Avec l'URL, Tim Berners-Lee tente d'écrire une théorie de la Grande Unification, et contrairement à Albert Einstein, il s'est limité à Internet, donc il va arriver à cette formule :
scheme : // authority / path ? query # hash
Chaque mot désigne un composant, et est séparé par un caractère spécial.
Ouais, avec les mots anglais et ma prononciation, c'est pas top. Attendez, je vais la redicter, mais dans sa traduction française officielle :
plan : // autorité / chemin ? requête # fragment
Oui, je sais , y'a un ministre qui m'a dit de dire croisillon
et pas dièse
, mais on s'en fiche.
Techniquement, une URL, c'est ça : un plan, une autorité, un chemin, une requête et un hâchis euh un fragment . Chaque élément est facultatif et n'est présent tout au plus qu'une seule fois.
C'est pour s'y retrouver qu'on a certains symboles qui préfixent les composantes de l'adresse, puisque toutes les composantes ne sont pas systématiquement là. La bonne pratique est que le symbole signature d'un composant n'est pas censé être présent dans les composants précédents dans une URL.
Mais je vais un peu trop vite. Je vais tenter une meilleure traduction de la formule en humain standard… eeeeuuuh langage courant. Une URL se décompose en questions :
comment : // chez_qui / où ? question # extraitCette traduction de la formule n'est pas exacte ni parfaite, mais elle vous explique l'essentiel.
Une analogie : Je vais à la BNF, Quai François Mauriac dans le 16e arrondissement de Paris, je me présente comme lecteur, et je vais tour Nord, 3ème étage, 2ème étagère gauche, pour ouvrir un livre sur un sujet pour en lire le 5ème chapitre.
Quand Tim Berners Lee crée la formule de l'URL, il déconseille d'utiliser quelques caractères qui lui posent problèmes : l'espace
, l'apostrophe '
, le guillemet "
, et les signes inférieurs <
et supérieurs >
.
Et parce que certains caractères définissent des atomes, si on les utilise dans les composants précédents, Stéphane Bortzmeyer explique bien mieux que moi la RFC 3986. Mais désolé, cette semaine, c'est moi qui anime CPU, donc va falloir faire avec.
[Suite : Standard : URL Layer 1, Protocol]
Texte : Da Scritch
Illustration sonore : Chalk on chalkboard CC-0 fattirewhitey
Illustration : Open Sourcing URL-Detector par Linkedin Engineering, D.R.