使用框架可以轻松列出我的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>
答案 0 :(得分:4)
'从不'(几乎从不)使用绝对路径。
以后它会咬你的屁股。
例如,当您切换/添加其他域时。
从测试到生产服务器。
基本上规则是内部URL应该是相对的。
答案 1 :(得分:4)
就DNS而言,如果你有相对或绝对的URL,那真的没关系。无论如何,您的浏览器最终会将服务器URI预先挂起。此外,您的网络堆栈首次执行查找,并缓存IP。除非出现问题,否则每页应该只有一个查找。 YMMV当然,但这应该是这一切的运作方式。
答案 2 :(得分:1)
哦,你真的不想使用完整的路径。你将面临很多工作:
您还将破坏您的开发环境,因为大多数现代环境将执行本地目录查找。不能用域名做到这一点。
此外,在开发环境中,您将从生产站点撤出,这将使修改和添加图像变得非常棘手。
最重要的是,使用您的代码的其他开发人员会试图杀死您。这对你的健康有害。
答案 3 :(得分:0)
便携性对我来说是个问题。我会基于此选择第二种选择。