Ce site est écrit à la main, en HTML, avec une petite feuille de style. Quelques requêtes par page, pas de cookies, pas de pistage. Ce qui suit explique tout ce qui doit se passer pour que ces deux fichiers arrivent jusqu’à votre écran.
Votre navigateur demande à un résolveur où trouver
aurelien.goulon.net. La zone DNS est signée avec DNSSEC :
le résolveur ne prend donc pas la réponse pour argent comptant. Il vérifie
une chaîne de signatures jusqu’à la racine du DNS. Si quelqu’un tentait
d’insérer une fausse adresse entre les deux, la chaîne serait invalide et
la résolution échouerait. Mieux vaut une panne visible qu’une mauvaise
destination qui passe inaperçue.
La réponse pointe vers une adresse anycast de Cloudflare, l’une des mêmes adresses IP utilisées par des millions d’autres domaines. Je ne choisis pas le centre de données qui vous répond : BGP s’en charge, en fonction de l’annonce réseau la plus proche de vous. Une personne à Calgary et une autre à Marseille peuvent donc être dirigées vers deux centres de données différents, sans que personne n’ait rien à configurer.
Votre navigateur ouvre ensuite une connexion TLS 1.3 vers cette adresse. Cloudflare termine le chiffrement dans son point de présence le plus proche de vous, et non sur un serveur que j’administre, puis négocie HTTP/2 ou HTTP/3 selon ce que votre navigateur prend en charge. Les enregistrements CAA interviennent aussi à ce stade : ils indiquent quelles autorités de certification sont autorisées à délivrer un certificat pour ce domaine. Une autorité compromise ou peu rigoureuse ne peut donc pas en émettre un de son côté, juste parce qu’elle en a envie.
Si le réseau Cloudflare a déjà cette page dans son cache, il répond
immédiatement : l’étape suivante n’est même pas nécessaire. Sinon, il
récupère le contenu depuis l’origine, un fichier HTML statique stocké dans
un dépôt Git public et publié par GitHub Pages à chaque mise à jour de la
branche main. Pas de serveur à corriger, à redémarrer ou à
surveiller la nuit : l’origine est un fichier, pas un processus.
La réponse repasse par le réseau Cloudflare, est conservée en cache pour le visiteur suivant, puis arrive dans votre navigateur sous la forme de deux fichiers, pas plus. Aucun script qui bloque l’affichage, aucune requête vers un tiers, aucun élément qui fait bouger la page une fois que vous avez commencé à la lire.