2012-02-07 78 views
0

有没有区别:<img src="http://www.foo.com/bar.jpg" /><img src="/bar.jpg" />?在后一种情况下,浏览器端需要额外的工作吗?为什么这两个工作?没有主机名的网址

+0

只要你的HTML页面和bar.jpg在同一个目录下,你可以简单地指定'src =“bar.jpg”'。 'src =“/ bar.jpg”'将在HTML页面所在站点的根目录中查找bar.jpg。 – Ram 2012-02-07 15:52:10

回答

1

/bar.jpg是引用网站根目录的绝对路径。因此,这种行为应该大致相同。

../bar.jpg这样的相对路径是另一回事,但我不认为服务器会在所有三种情况下都有足够的信息非常有效时决定更加努力地工作。

反对编码完整站点URL的主要参数是,您可能希望在将来移动网站,以便根据路径是否是硬编码而可能令人讨厌。

针对/bar.jpg的主要观点是,您可能希望在与domain.com/site1,domain.com/site2等相同的域中托管多个网站,这会使绝对根路径变得有点麻烦。

+0

移动网站的好处。你说的一件事:我不认为服务器会在所有三种情况下有足够的信息非常有效时决定更加努力._我相信服务器确实无法工作,因为它是一个浏览器必须从当前文件中的相对路径和当前文件的绝对路径中构建完全限定的url。我错了吗?这是我的问题的主要观点。 – clime 2012-02-10 22:55:20

+0

这是一个很好的观点。我的知识是有限的,但由于HTTP是无状态的,我怀疑你是对的。既然如此,最多你可能会在浏览器代码中查找一两个'if'条件。一个很小的差别。 – IanGilham 2012-02-16 17:24:00

1

这是一个nice article我在一分钟前发现 - 但是,这是相当基本的信息。我倾向于使用绝对路径,因为在服务器端编码方面,当页面实际加载时,并不总是100%确定(这在WordPress中尤为常见,因为插件可能会加载到页面中等) 。因此,我发现使用绝对路径相对于相对路径总是最安全的。但是,对于前端编码,我认为相对路径是肯定的,不应该给你任何问题。

+0

从该文章:_“如果要链接到当前子文件夹中的文件文件夹中,提供该文件的文件路径,如下所示:“_'Read about my Tahiti vacation.'。这似乎是错误的。 – clime 2012-02-10 22:48:14

+0

是的,我不会包含第一个“/” – 2012-02-11 05:57:41

相关问题