根链接(/)VS绝对链接(例如http:// www。)

时间:2016-12-27 09:52:01

标签: html hyperlink href

我目前正在我的网站上使用root-linked,例如。 <a href="/">Home</a><a href="/contact">Contact</a>。我喜欢这个,因为它使代码更清洁。

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

修改

我也想知道图片:

例如&#34; http://www.domain.com/img/image1.jpg&#34;加载比#34; /img/image1.jpg"更快如果是,是否超过50毫秒?

我知道绝对链接很难保持,例如。 localhost或者如果要更改为&#34; https://&#34;。但我仍然想知道速度......

2 个答案:

答案 0 :(得分:0)

SEO绝对不错。 GoogleBot和浏览器会自动将域添加到根目录相关链接。足够聪明,可以解决这个问题。

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

您可以使用开发人员工具(Chrome)中的Timeline标签来评估网页加载效果。

答案 1 :(得分:0)

从技术角度来看,这没有什么区别。浏览器需要在发出任何HTTP请求之前构造绝对URL。 Section 2.5 of the HTML5 specification包含有关如何解析网址的准确说明,例如对于href属性。第四步是相关的:

  

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

     

否则,让base成为元素的基本URL。

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

这是唯一点,URL的表示法会有所不同。参数base和URL将传递给解析器,解析器然后根据这些值构造绝对URL。如果文档网址为https://example.com/foo/bar.html,则解析/stackoverflowhttps://example.com/stackoverflow将生成相同的网址(https://example.com/stackoverflow)。

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

谈到表现,实际上没有区别。 (除非你考虑在DOM中找到基本URL所需的几纳秒。)

这只是表示法的问题,编写相对URL(相对于文档或相对于根目录)通常更简单,但是如果您创建的不仅仅是静态网站,则应考虑生成绝对值服务器上的URL。例如,用户可能决定不在根目录中使用您的应用程序,而是在子目录中,因此所有根相对URL都会中断。

同样适用于搜索引擎优化,搜索引擎和抓取工具构建完全与浏览器完全相同的绝对URL。