Angenommen, ich möchte http://example.com/library/
aus einem Unterverzeichnis ( http://example.com/library/html/basics/
) eine Verknüpfung zu einem übergeordneten Verzeichnis ( ) herstellen.
Der Link zum übergeordneten Verzeichnis kann sein:
href="../../"
href="https://webmasters.stackexchange.com/library/"
href="http://example.com/library/"
Gibt es einen Geschwindigkeitsunterschied basierend darauf, wie ich den Link schreibe? Ich frage nicht nach der Ladegeschwindigkeit der Website, aber ob es beim Durchlaufen des Verzeichnisses einen merklichen Unterschied gibt.
html
links
performance
hyperlink
relative-urls
Jakub Kliský
quelle
quelle
example.com
zuerst und dannexample.com/library/books/fiction/1984.html
mit oder ohne "Durchqueren" geht, sollte irrelevant sein. Und denken Sie daran, dass Sie mehrere Benutzer haben - einer könnte das Basisverzeichnis anfordern, während ein anderer, ein tief verschachtelter, und der Server nur die gleiche Arbeit erledigen würden.http://example.com/library/
in allen drei Fällen auflösen , da sie sonst einfach nicht gültig ist./library/
bietet gegenüber den anderen Optionen die folgenden Vorteile: Sie müssen nicht alle Links aktualisieren, wenn Sie Ihren Domain-Namen ändern oder überall auf SSL umsteigen. Wenn Sie den Ordnernamen ändern oder den untergeordneten Ordner verschieben, können Sie den Pfad leicht finden und ersetzen und herausfinden, was von ../ .. usw.Antworten:
Effekt für den Browser:
Dies scheint zwar ein bisschen Arbeit für den Webbrowser zu sein, macht aber technisch gesehen keinen großen Unterschied. Die Browser sind zu schnell, um diese relative URL-Struktur zu verarbeiten und den Anwendungsserver aufzurufen
Effekt für Anwendungsserver:
Keine, da die angeforderte Datei zurückgegeben werden muss (relativer / absoluter Link wird letztendlich einem Webpfad zugeordnet)
Auswirkung auf die Seitengröße:
Ja, es würde eine gewisse Größenreduzierung geben (auch hier würde dies keinen großen Unterschied für die Leistung Ihrer Seite bedeuten, der beispielsweise durch die Codierung von gzip oder die Minimierung von Ressourcen erreicht werden könnte).
Ich denke also, dass die absoluten / relativen URLs technisch keinen großen Unterschied in Bezug auf die Seitengeschwindigkeit / jede gewichtbare Matrix machen .
Ja, es macht einen großen Unterschied bei der Verwaltung mehrerer Umgebungen wie dev, pp, prodpp usw.
Beispiel: In Ihrer lokalen Entwicklung haben Sie möglicherweise dev.example.com in der Vorproduktion: pp.example.com. .
In diesen Szenarien wäre es also relativ einfach, Code mit relativen URLs zu verwalten (kann aber auch über die Umgebungseinstellungen verwaltet werden).
quelle
Relativ auf HTML / CSS basierende Pfade sind für die Servergeschwindigkeit immer schneller. Dies liegt daran, dass der Server weniger Code zum Senden hat. Relative Pfade in HTML- oder CSS-Form werden vom Browser des Endbenutzers und nicht vom Server übersetzt.
Technisch gesehen ist es für den Server schneller und für den Endbenutzer langsamer, aber der Endbenutzer würde den Unterschied nie bemerken, da die erforderliche Verarbeitung weniger als Nano-Sekunden beträgt. Daher ist es für Endbenutzer weitaus wahrscheinlicher, den Unterschied zu erkennen relativ, weil der Server sie besser bedienen kann.
quelle
http://example.com/category/cats.html
ist zwar länger als/category/cats.html
, aber ich kann nicht sehen, dass dies einen ausreichenden Einfluss auf die Leistung hat, um überhaupt berücksichtigt zu werden. Das Komprimieren der gesendeten Daten, das Bruchteile einer Sekunde dauert, würde sowohl die "Größenineffizienz" als auch die damit verbundene "Geschwindigkeitsstrafe" abdecken.