Search code examples
htmlhrefsrccodeigniter-url

Relative path or url for html src and href attributes


Using a framework makes it easy to list full url's for my html src and href attributes, and I feel I'm being more thorough by listing a full url instead of a relative path. But is this faster? Am I incurring an extra DNS lookup? What is the best practice when the content is on the same server?

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

vs

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

Codeigniter's image helper img() works like this from the users' guide:

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

and Codeigniter's anchor helper anchor() works like this from the users guide:

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

Solution

  • As far as DNS goes, it really doesn't matter if you have relative or absolute URL. Your browser ends up pre-pending the server URI onto the front anyway. Also, your network stack does the lookup for the first time, and caches the IP. Unless something goes wrong, there should only be the one lookup per page. YMMV of course, but that should be how this all works.