我目前正在我的网站上使用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;。但我仍然想知道速度......
答案 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
,则解析/stackoverflow
和https://example.com/stackoverflow
将生成相同的网址(https://example.com/stackoverflow
)。
解析URL后,浏览器通常会向服务器发出HTTP请求。这很可能不包括DNS请求,因为DNS缓存很可能包含该主机的条目 HTTP请求本身也看起来相同(主机名和路径分别传输)。
谈到表现,实际上没有区别。 (除非你考虑在DOM中找到基本URL所需的几纳秒。)
这只是表示法的问题,编写相对URL(相对于文档或相对于根目录)通常更简单,但是如果您创建的不仅仅是静态网站,则应考虑生成绝对值服务器上的URL。例如,用户可能决定不在根目录中使用您的应用程序,而是在子目录中,因此所有根相对URL都会中断。
同样适用于搜索引擎优化,搜索引擎和抓取工具构建完全与浏览器完全相同的绝对URL。