Html 根链接(/)与绝对链接(例如。http://www.)

Html 根链接(/)与绝对链接(例如。http://www.),html,hyperlink,href,Html,Hyperlink,Href,我目前正在我的网站上使用根链接,例如和。我喜欢这个,因为它使代码更简洁 虽然我想知道使用这种方法是否有任何缺点,例如,它是否会减慢页面速度或对SEO有害 编辑: 我还想知道关于图像: 例如,“加载速度是否比“/img/image1.jpg”更快?如果是,是否超过50毫秒 我知道绝对链接很难维护,例如localhost,或者如果您想更改为“https://”。但是我仍然想知道它的速度…这对搜索引擎优化来说绝对不错。GoogleBot和浏览器会自动将域添加到根相对链接。足够聪明的人能弄明白这一点 我

我目前正在我的网站上使用根链接,例如
。我喜欢这个,因为它使代码更简洁

虽然我想知道使用这种方法是否有任何缺点,例如,它是否会减慢页面速度或对SEO有害

编辑:

我还想知道关于图像:

例如,“加载速度是否比“/img/image1.jpg”更快?如果是,是否超过50毫秒


我知道绝对链接很难维护,例如localhost,或者如果您想更改为“https://”。但是我仍然想知道它的速度…

这对搜索引擎优化来说绝对不错。GoogleBot和浏览器会自动将域添加到根相对链接。足够聪明的人能弄明白这一点

我想知道是否有人做过页面加载测试来比较加载资产。我猜差别可以忽略不计


您可以使用开发者工具(Chrome)中的
Timeline
选项卡来评估页面加载性能。

从技术角度看,这没有什么区别。在发出任何HTTP请求之前,浏览器需要构造一个绝对URL。包含如何解析URL的精确说明,例如针对
href
属性。第四步是相关的:

如果使用绝对URL调用算法以用作基本URL,则让
base
成为该绝对URL

否则,将
base
作为元素的基本URL

“元素的基本URL”通常与文档的基本URL相同,除非您明确更改它

这是唯一一个URL符号有区别的点。参数
base
和URL将被传递给解析器,然后解析器根据这些值构造一个绝对URL。如果文档URL为
https://example.com/foo/bar.html
,然后解决
/stackoverflow
https://example.com/stackoverflow
将生成相同的URL(
https://example.com/stackoverflow


解析URL后,浏览器通常会向服务器发出HTTP请求。这很可能不包括DNS请求,因为DNS缓存很可能包含该主机的条目。
HTTP请求本身看起来也一样(主机名和路径是分开传输的)


谈到性能,实际上没有什么区别。(除非您认为需要几个纳秒才能找到DOM中的基本URL)

这只是一个符号问题,编写相对URL通常比较简单(相对于文档或相对于根目录),但是如果你做的不仅仅是静态网站,那么你应该考虑在服务器上生成绝对URL。例如,用户可能决定不在根目录中使用您的应用程序,而是在子目录中使用,因此所有与根相关的URL都将中断


搜索引擎优化、搜索引擎和爬虫程序与浏览器完全一样构建绝对URL也是如此