Normalisez vos liens

Je viens de croiser une liste de recommandations Microsoft pour la performance des sites web. On y retrouve plusieurs choses connues et une recommandation sur la cohérence des liens. La page MSDN donne l’exemple d’un même lien avec deux casses différentes. Certains serveurs ignoreront la casse ou corrigeront le lien mais cela restera deux ressources différentes sur le client, avec des entrées séparées sur le cache, donc au moins une requête HTTP inutile.

Dans la réalité la plupart des serveurs web tournent avec un dérivé d’Unix où la casse est importante. Nous aurons un lien cassé et rien de plus. Par contre la recommandation, elle, est plus que pertinente :

Hésitez entre http://example.org/ et http://example.org/index.html, votre navigateur utilisera deux ressources et deux entrées de cache séparées. Au revoir les requêtes conditionnelles HTTP pour économiser le transit réseau.

Insérez des paramètres inutiles ou changeant dans vos liens avec ?exemple=1 et vous voilà avec encore une ressource différente pour le navigateur alors que ça pointe au même endroit.

Hésitez entre http://example.org/rep/ et http://example.org/rep et c’est encore pire. Non seulement ce sont deux ressources différentes pour le client, mais pour le serveur aussi. Ce dernier va opérer une redirection HTTP complète, et vous allez faire deux requêtes HTTP là où une seule aurait suffit (c’est géré par la directive DirectorySlash pour Apache par exemple). Si vous pointez vers un répertoire ou à la racine d’un site, votre adresse doit toujours se terminer par /.

Pour une même ressource, assurez vous que vous utilisez toujours exactement la même adresse, sans variations.

Publié par edaspet

Plus d'informations sur mon profil en ligne

Une réponse sur « Normalisez vos liens »

Les commentaires sont fermés.