Disons que je veux créer un lien vers un répertoire parent ( http://example.com/library/
) à partir d'un sous-répertoire ( http://example.com/library/html/basics/
).
Le lien vers le répertoire parent peut être:
href="../../"
href="https://webmasters.stackexchange.com/library/"
href="http://example.com/library/"
Y a-t-il une différence de vitesse basée sur la façon dont j'écris le lien? Je ne demande pas la vitesse de chargement du site Web, mais s'il y a une différence notable lors de la traversée vers le répertoire.
html
links
performance
hyperlink
relative-urls
Jakub Kliský
la source
la source
example.com
abord et ensuiteexample.com/library/books/fiction/1984.html
avec ou sans "traversée", tout le chemin ne devrait pas être pertinent. Et rappelez-vous que vous aurez plusieurs utilisateurs - l'un pourrait demander le répertoire de base, tandis qu'un autre est profondément imbriqué et le serveur ferait simplement le même travail.http://example.com/library/
dans les 3 cas, sinon ce n'est tout simplement pas valide./library/
présente les avantages suivants par rapport aux autres options: vous n'avez pas besoin de mettre à jour tous vos liens si vous changez de nom de domaine ou passez à SSL partout; si vous changez le nom du dossier, ou déplacez le dossier enfant, vous pouvez trouver et remplacer le chemin facilement, en déterminant ce qui doit changer de ../ .. etc.Réponses:
Effet pour le navigateur:
Bien que cela ressemble à un peu de travail pour le navigateur Web, mais techniquement, cela ne fait pas beaucoup de différence. Les navigateurs sont trop rapides pour gérer cette structure d'URL relative et appeler le serveur d'applications
Effet pour le serveur d'applications:
Aucun, car il doit renvoyer le fichier demandé (le lien relatif / absolu correspond finalement à un chemin Web)
Effet sur la taille de la page:
Oui, il y aurait une certaine réduction de taille (encore une fois pas quelque chose qui ferait une énorme différence dans les performances de votre page qui pourrait être atteint par quelque chose comme le codage de contenu gzip ou la réduction de la ressource)
Donc, je pense que techniquement, les URL absolues / relatives ne font pas beaucoup de différence sur la vitesse de la page / toute matrice pondérée .
Oui, cela fait une énorme différence dans la gestion de plusieurs environnements tels que dev, pp, prodpp, etc.
Exemple: sur votre développement local, vous pourriez avoir dev.example.com sur la pré-production que vous pourriez avoir: pp.example.com. .
Donc, dans ces scénarios, il serait relativement facile de gérer le code avec des URL relatives (bien que cela puisse également être géré par les paramètres d'environnement)
la source
Les chemins basés sur HTML / CSS seront toujours plus rapides pour la vitesse du serveur, c'est parce que le serveur a moins de code à envoyer. Les chemins relatifs au format HTML ou CSS sont traduits par le navigateur de l'utilisateur final et non par le serveur.
Donc, techniquement, c'est plus rapide pour le serveur et plus lent pour l'utilisateur final, mais l'utilisateur final ne remarquerait jamais la différence, car le traitement requis est inférieur à nano-secondes, donc les utilisateurs finaux sont beaucoup plus susceptibles de voir la différence par rapport à relatif car le serveur va pouvoir mieux les servir.
la source
http://example.com/category/cats.html
soit plus long que/category/cats.html
, je ne vois pas que cela ait un impact suffisamment important sur les performances pour être pris en compte. Gzipper les données envoyées, qui prend des fractions de seconde, couvrirait déjà à la fois «l'inefficacité de la taille» et la «pénalité de vitesse» qu'il impose.