Extrait de l'émission CPU release Ex0214 : Disséquons une URL, seconde partie.
Évidemment et puisque dans notre émission CPU, on a une obsession assumée pour les standards, une question se pose : est-ce que certaines clés dans les queries d'URL ont un usage réservé ?
Non, pas vraiment ; mais par convention, on retrouve souvent des clés assignées à un certain usage. Par exemple, si vous avez un moteur de recherche avec un champ texte sur un site, il a peut-être le bon goût d'utiliser la clé q
pour votre question.
Et là, c'est vous qui allez me poser une question :
OK pour l'obsession sur les standards, mais pourquoi cette obsession sur le q ?
Ben ce mot-clé composé que de la lettre q
est un hommage à Altavista, Altavista fut le tout premier de moteur de recherche du web en full-text, c'est-à-dire qu'on avait un champ texte pour entrer une phrase, et ça, avant Google. D'ailleurs, avant Altavista, les moteurs de recherche sur l'ensemble des sites n'existaient pas vraiment : La pratique était d'aller sur Yahoo! qui était un annuaire où il fallait inscrire son site dans une rubrique. Et en tant que visiteur, tu allais sur Yahoo! et tu naviguais au hasard de son immense arborescence, espérant trouver le dossier que tu cherches.
Altavista était plus qu'un moteur de recherche texte : il proposait des opérateurs et des filtres dans ce champ d'entrée, et surtout une approche de la requête en langage quasi-naturel, donc en langage d'humains, constitué de plusieurs mots séparés par des espaces. Comme il n'est pas possible d'envoyer nativement des espaces dans une URL, le navigateur web va remplacer les espaces avec des symboles +
, qui symbolise qu'on cherche chaque mot indépendamment, et qu'on tolère l'absence de certains.
Là encore,
Maintenant, pour représenter cette espace [oui, typographiquement, espace
est féminin], on l'échappe avec la séquence %20
, la notation d'échappement qui régit quasi toute l'URL… Sauf que depuis mars 2023, [dans une mise à jour, le serveur web] Apache recommande d'échapper les queries avec un +
, sinon il rejette la requête.
Si si, pour le site de CPU, on s'est fait avoir en faisant une mise à jour.
C'est donc Altavista qui a popularisé l'usage du +
pour séparer les mots dans le query d'une URL. C'est aussi l'un des premiers sites à titiller la longueur maximale d'une requête GET
.
En 1997, leur champ de recherche texte permettait même d'aller jusqu'à 800 caractères de long pour sa question… Mais je vais un peu trop loin, et on reviendra sur cette question dans une autre émission.
q=
est devenu une norme dans une URL pour une recherche full-text, et on la retrouve toujours chez Google, Bing, DuckDuckGo, Qwant et j'en passe. Et même sur le moteur de recherche du site de notre émission CPU.pm.
Faut-il ne pas mettre dans une URL des paramètres d'une recherche ? Cette question, nombreux se la sont posée à la fin des années 1990s, notamment un concurrent émergeant d'Altavista, qui lui, a préféré cacher ce q=
qu'il ne saurait voir, sûrement par pudibonderie.
Sauf qu'on l'a dit, Altavista avait des paramètres dans sa recherche full-text assez puissants, au point d'avoir lancé des concours autour pour justement montrer les capacités de son moteur de recherche. C'est là que nous fûmes nombreux à comprendre que ne plus envoyer les paramètres de requête dans l'URL, et envoyer les valeurs d'un formulaire en POST
, cela empêche de partager les résultats. Je me souviens que justement, dans ce concours, Altavista invitait à partager les URL pour voir comment se comportait son moteur de recherche.
C'est peut-être une propriété trop oubliée des URL : on peut l'envoyer par e-mail, par chat, par réseau social ou l'annoter dans un document pour plus tard. Une URL est faite aussi pour se partager.
[Suite : How to : Envoyer un e-mail depuis une URL]
Texte : Da Scritch
Illustration sonore : Yodel signature des publicités yahoo!, D.R.
Photo : Letter Q CC-NC-SA-By Leo Reynolds