速度比较-绝对路径和相对路径链接


8

假设我http://example.com/library/要从子目录(http://example.com/library/html/basics/)链接到父目录()。

到父目录的链接可以是:

  • href="../../"
  • href="https://webmasters.stackexchange.com/library/"
  • href="http://example.com/library/"

根据我编写链接的方式,速度会有差异吗?我不是在问网站加载速度,而是在遍历目录时是否存在明显差异。


4
您为什么会认为遍历目录会有所不同?就服务器而言,这只是一个成功,用户实际上并不会从一个目录“移动”到另一个目录-他们只是在请求另一个资源。无论有人先走example.com,然后example.com/library/books/fiction/1984.html再走还是不走,所有路径都应该无关紧要。并记住,您将拥有多个用户-一个用户可能正在请求基本目录,而另一个用户是一个深层嵌套的用户,而服务器将执行相同的工作。
VLAZ '16

1
当涉及到HTTP请求时,所有这三个URL都是相同的,因此就服务器而言,没有任何区别-浏览器必须http://example.com/library/在所有这三种情况下都解决该请求,否则就无效了。
怀特先生'16

到目前为止遗漏的一件事是对网站维护的影响。/library/与其他选项相比,使用具有以下优点:如果更改域名或在任何地方都使用SSL,则无需更新所有链接;如果更改文件夹名称,或移动子文件夹,你可以找到和轻松地更换路径,制定出哪些需要从../ ..等变化
本·杜吉德- Zhaph

Answers:


9

对浏览器的影响:

尽管这对于Web浏览器来说似乎有点工作,但是从技术上讲,它并没有太大的区别。浏览器速度太快,无法处理这些相对的url结构,无法调用应用程序服务器

对应用程序服务器的影响:

无,因为它需要返回请求的文件(相对/绝对链接最终映射到Web路径)

对页面大小的影响:

是的,尺寸会有所减小(同样,不会通过内容编码gzip或资源压缩之类的东西而对页面的性能产生巨大的影响)

因此,从技术上讲,我认为绝对/相对URL不会对页面速度/任何可加权矩阵产生很大的影响

是的,它在管理多个环境(例如dev,pp,prodpp等)中产生了巨大的差异

示例:在本地开发中,生产前可能会有dev.example.com,而pp.example.com也可能有。。

因此,在那些情况下,使用相对URL管理代码相对容易(尽管也可以通过环境设置来管理)


2

基于HTML / CSS相对路径的服务器速度始终会更快,这是因为服务器发送的代码较少。HTML或CSS格式的相对路径由最终用户的浏览器而不是服务器翻译。

因此,从技术上讲,它对于服务器而言更快,而对于最终用户而言则更慢,但是最终用户永远不会注意到差异,因为所需的处理时间不到十亿分之一秒,因此最终用户更有可能看到与相对,因为服务器将能够更好地为他们提供服务。


“基于HTML / CSS相对路径的服务器速度将始终更快,这是因为服务器发送的代码较少。” 我真的不相信。虽然http://example.com/category/cats.html比更长/category/cats.html,但我看不到这会对性能产生足够大的影响甚至无法考虑。对发送的数据进行压缩(只需几分之一秒),既可以解决“大小效率低下”的问题,也可以解决其带来的“速度损失”。
VLAZ '16

我说的技术上确实更快...而且您正在挑选琴弦。即使使用gzip进行缓存压缩,具有绝对vs相对的html页面也会稍大(gz相对vs gz绝对),因此从技术上讲...最终用户必须反编译该gzip并解析相对,这对于最终用户……但这是最小的,最终用户不会注意到,这又是事实。即使使用服务器端技术(例如GZIP压缩HTML文件或使用相对路径vs绝对路径的CSS文件),在压缩文件中相对值始终会较小,这是事实,请尝试一下。
西蒙·海特

尽管差异可能只有几个字节,或者在较大的页面上只有几个kb,但为一个访客节省的费用并不是主要的,但在数百万的用户中,这变得更加引人注目……因此,从技术上讲,它的速度更快。现在,如果您要问的是,每天访问几百次的普通网站是否值得使用相对还是绝对?答案可能不是……但这不是要问的问题。
西蒙·海特

最好的情况下,性能下降将是微不足道的。它也可能完全不存在。服务器通常擅长于一件事。以他们的名义- 提供内容。我认为几个字节或KB不会成为问题。最后只是满足感。如果大小有问题,我们编写的HTML看起来会大不相同。事实并非如此。如果内容的带宽很小,则内容的缩小纯粹是为了用户方便。我相信处理请求和响应才是性能的关键,而不是发送数据的实际行为。
VLAZ '16

1
“基于相对路径的服务器速度总是会更快”-但OP确实指出,“我不是在问网站加载速度”-这是唯一可能会加快网站速度的地方。(说实话,我不太确定OP在说什么“速度”?)
怀特先生,
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.