Допустим, я хочу сделать ссылку на родительский каталог ( http://example.com/library/
) из подкаталога ( http://example.com/library/html/basics/
).
Ссылка на родительский каталог может быть:
href="../../"
href="https://webmasters.stackexchange.com/library/"
href="http://example.com/library/"
Есть ли разница в скорости в зависимости от того, как я пишу ссылку? Я не спрашиваю о скорости загрузки сайта, но есть ли заметная разница при переходе в каталог.
html
links
performance
hyperlink
relative-urls
Якуб Клиски
источник
источник
example.com
сначала, а затемexample.com/library/books/fiction/1984.html
с «обходом» или без него, весь путь не имеет значения. И помните, что у вас будет несколько пользователей - один может запросить базовый каталог, а другой - глубоко вложенный, и сервер просто сделает ту же работу.http://example.com/library/
во всех 3 случаях, иначе он просто недействителен./library/
имеет следующие преимущества по сравнению с другими вариантами: вам не нужно обновлять все ссылки, если вы меняете свое доменное имя или переходите на SSL везде; если вы измените имя папки или переместите дочернюю папку, вы можете легко найти и заменить путь,Ответы:
Эффект для браузера:
Хотя это выглядит как небольшая работа для веб-браузера, но технически это не имеет большого значения. Браузеры слишком быстры, чтобы обрабатывать эти относительные структуры URL и выполнять вызовы к серверу приложений.
Эффект для Сервера приложений:
Нет, так как необходимо вернуть запрошенный файл (относительная / абсолютная ссылка в конечном итоге отображается на веб-путь)
Влияние на размер страницы:
Да, было бы некоторое уменьшение в размере (опять же, не то, что могло бы иметь огромное значение для производительности вашей страницы, что могло бы быть достигнуто с помощью чего-то вроде кодировки контента gzip или минимизации ресурса)
Поэтому я думаю, что технически абсолютные / относительные URL не имеют большого значения для скорости страницы / любой взвешиваемой матрицы .
Да, это имеет огромное значение в управлении несколькими средами, такими как dev, pp, prodpp и т. Д.
Пример: в вашей локальной разработке у вас может быть dev.example.com, а у вас может быть preproduction: pp.example.com. ,
Таким образом, в этих сценариях было бы относительно легко управлять кодом с относительными URL-адресами (хотя также можно управлять настройками среды)
источник
Относительные пути на основе HTML / CSS всегда будут быстрее для скорости сервера, потому что на сервере меньше кода для отправки. Относительные пути в форме HTML или CSS переводятся браузером конечного пользователя, а не сервером.
Технически, это быстрее для сервера и медленнее для конечного пользователя, но конечный пользователь никогда не заметит разницы, поскольку требуемая обработка составляет менее наносекунд, поэтому конечные пользователи с большей вероятностью увидят разницу от относительный, потому что сервер сможет обслуживать их лучше.
источник
http://example.com/category/cats.html
это дольше/category/cats.html
, я не вижу, чтобы это оказало достаточно существенное влияние на производительность, чтобы это даже можно было рассмотреть. Захват отправленных данных, который занимает доли секунды, уже покрыл бы «неэффективность размера» и любой «штраф скорости», который он налагает.