使用绝对与图像的相对路径

时间:2011-12-01 19:12:00

标签: html performance networking path

一位同事刚问我是否有任何理由为什么用相对路径引用图像会妨碍网站速度。

虽然对于清洁度而言,使用相对路径的字符数较少是一个好主意,但是想知道使用绝对/完整路径是否存在其他减速/后果?我认为通过拥有完整路径可能会涉及DNS查找。

有什么其他后果,如果有的话?

3 个答案:

答案 0 :(得分:7)

使用绝对路径强制Web服务器建立连接,发送和接收HTTP请求。如果使用relative,则已建立连接,因此不必通过该逻辑(因此增加页面加载速度)。你可能不会看到惊人的差异,但保存的每一点都是好事,对吧?


编辑:在进行快速测试之后,差异极其微不足道,并且似乎没有为我的答案产生那么好的情况。我创建了一个具有相同图像的测试页两次,一个有亲戚,一个有绝对路径:http://damonbauer.me/test/index.html

测试一:图像首先是HTML代码中的绝对路径:(点击查看大图) http://damonbauer.me/test/images/results1.jpg

绝对路径图像需要加载869毫秒,而相对路径图像在HTML代码中列出第二个,加载时间为635毫秒。

测试二:图像首先是HTML代码中的相对路径:(点击查看大图) http://damonbauer.me/test/images/results1.jpg

绝对路径图像加载时间为303毫秒,而HTML代码中首先列出的相对路径图像加载时间为315毫秒。

我的意见?使用相对加载速度更快。即使在绝对路径图像之后列出,相对图像加载也只需要12ms。当第二次加载绝对路径图像时,加载时间长达234ms。在这两种情况下,它们都很接近,而且我认为它更重要的是首先加载什么。无论哪种方式,如果只是为了便携性,我会和亲戚一起去。

答案 1 :(得分:3)

不,没有任何明显的区别,两者都有其用途。没有DNS查找客户端,是浏览器(或者可能是Web服务器?)将URL更改为应该是什么。 根据需要使用它们,相对路径更便携(不需要做任何事情使它们在您的开发或实时服务器中工作),而绝对路径将您带到特定位置(无论您在哪个服务器中)。 /> 在我的情况下,我使用相对路径,除非我想要使用特定的地址。此外,当您从非安全切换到安全时,您需要指定https如此完整路径(或在其他地方执行额外重定向)

答案 2 :(得分:3)

远程绝对路径将通过DNS,但它释放您的Web服务器以提供页面,而另一台服务器获得提供图像的工作。这减轻了页面服务器上的网络负载并加快了速度。

本地绝对路径将与本地相对路径相同,因为在第一页之后,它将由Web服务器缓存,之后无关紧要。

相关问题