一位同事刚问我是否有任何理由为什么用相对路径引用图像会妨碍网站速度。
虽然对于清洁度而言,使用相对路径的字符数较少是一个好主意,但是想知道使用绝对/完整路径是否存在其他减速/后果?我认为通过拥有完整路径可能会涉及DNS查找。
有什么其他后果,如果有的话?
答案 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)
答案 2 :(得分:3)
远程绝对路径将通过DNS,但它释放您的Web服务器以提供页面,而另一台服务器获得提供图像的工作。这减轻了页面服务器上的网络负载并加快了速度。
本地绝对路径将与本地相对路径相同,因为在第一页之后,它将由Web服务器缓存,之后无关紧要。