html src和href属性的相对路径或url

时间:2011-09-21 16:16:53

标签: html href src codeigniter-url

使用框架可以轻松列出我的html src和href属性的完整URL,我觉得通过列出完整的url而不是相对路径我会更彻底。但这更快吗?我是否需要额外的DNS查询?当内容在同一台服务器上时,最佳做法是什么?

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

vs

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

Codeigniter的图像助手img()的工作方式与this from the users' guide类似:

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

和Codeigniter的锚点助手锚点()的工作方式类似于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>

4 个答案:

答案 0 :(得分:4)

'从不'(几乎从不)使用绝对路径。

以后它会咬你的屁股。

例如,当您切换/添加其他域时。

从测试到生产服务器。

基本上规则是内部URL应该是相对的。

答案 1 :(得分:4)

就DNS而言,如果你有相对或绝对的URL,那真的没关系。无论如何,您的浏览器最终会将服务器URI预先挂起。此外,您的网络堆栈首次执行查找,并缓存IP。除非出现问题,否则每页应该只有一个查找。 YMMV当然,但这应该是这一切的运作方式。

答案 2 :(得分:1)

哦,你真的不想使用完整的路径。你将面临很多工作:

  • 如果您想在本地开发网站
  • 您更改/添加域名(开发,登台等)
  • 您切换到使用CDN

您还将破坏您的开发环境,因为大多数现代环境将执行本地目录查找。不能用域名做到这一点。

此外,在开发环境中,您将从生产站点撤出,这将使修改和添加图像变得非常棘手。

最重要的是,使用您的代码的其他开发人员会试图杀死您。这对你的健康有害。

答案 3 :(得分:0)

便携性对我来说是个问题。我会基于此选择第二种选择。