Относительный путь или URL для атрибутов hrml src и href - PullRequest
2 голосов
/ 21 сентября 2011

Использование фреймворка упрощает перечисление полных URL-адресов для моих html-атрибутов src и href, и я чувствую, что я более тщательный, перечисляя полный URL-адрес вместо относительного пути.Но так ли это быстрее?Я несу дополнительный DNS-поиск?Какова оптимальная практика, когда контент находится на том же сервере?

<img src='http://site.com/images/img1.png' />

против

<img src='/images/img1.png' />

Помощник по изображениям Codeigniter img () работает как это из руководства пользователя :

echo img('images/picture.jpg');
// gives <img src="http://site.com/images/picture.jpg" />

и помощника привязки Codeigniter () работает как это из руководства пользователя :

echo anchor('news/local/123','My News');
// gives <a href="http://example.com/index.php/news/local/123" >My News</a>

Ответы [ 4 ]

4 голосов
/ 22 сентября 2011

Что касается DNS, то действительно не имеет значения, есть ли у вас относительный или абсолютный URL.Ваш браузер заканчивает тем, что предварительно ожидает URI сервера на фронт.Кроме того, ваш сетевой стек выполняет поиск в первый раз и кэширует IP.Если что-то идет не так, на странице должен быть только один поиск.YMMV, конечно, но так должно быть.

4 голосов
/ 21 сентября 2011

«Никогда» (почти никогда) не используйте абсолютные пути.

Это будет кусать тебя в задницу позже.

Например, когда вы переключаете / добавляете другой домен.

Переход от теста к производственному серверу.

Как правило, внутренние URL-адреса должны быть относительными.

1 голос
/ 21 сентября 2011

О, вы действительно не хотите использовать полный путь.У вас впереди много работы:

  • Если вы хотите разработать сайт локально
  • Вы меняете / добавляете домены (разработка, размещение и т. Д.)
  • Вы переключаетесь на использование CDN

Вы также нарушите вашу среду разработки, так как большинство современных из них будут выполнять поиск в локальных каталогах.Не могу сделать это с доменом.

Кроме того, в среде разработчиков вы будете извлекать данные с рабочего сайта, что сделает сложным изменение и добавление изображений.

Самое главное, что другие разработчики, работающие с вашим кодом, попытаются убитьвы.И это вредно для вашего здоровья.

0 голосов
/ 21 сентября 2011

Переносимость была бы проблемой для меня.Я бы выбрал второй вариант, основываясь только на этом.

...