Please enable Javascript to view the contents

为什么使用中转域名来管理外链

 ·  ☕ 3 分钟

外链

所谓外链,指的就是外部链接,比如a.com,b.com是不同的站,a.com 页面中有一个链接指向b.com,那这个链接就是a.com的外部链接。


一般网站外部链接是这样:

这是个外部链接

而有些网站会做特殊处理,如知乎、简书、还有一些淘宝客网站等。


知乎

知乎会在将外链先做encodeURIComponent编码,然后做为“https://link.zhihu.com/”URL的target参数。

Tampermonkey.net

当点击该链接之后,会停在https://link.zhihu.com/页面,无法直接跳转到 Tampermonkey.net。

需要点击继续访问才能去到 Tampermonkey.net页面。我是习惯点开很多链接之后,等页面加载完成之后才统一浏览的,而等我回头去看,全都卡在 https://link.zhihu.com/ 页面,这让我非常难受。

为此,我专门写了个油猴脚本,解决这个问题(知乎及简书),请戳 知乎、简书直接跳转到外链脚本 – 码中人


简书

简书有些外链会经过https://link.jianshu.com/?t=的页面,然后再跳转到 https://www.jianshu.com/go-wild?的页面。


这样做有什么好处?

1. 安全

安全是显而易见的。

网站可以对外链进行甄别过滤,对网站进行安全评级,提醒用户即将跳转到外部网站。

如上,知乎把它认为不安全的网站直接拦截,如需访问,请手动复制链接访问。这样在很大程度上保障了浏览者的安全。

同上。方便对外部网站添加黑白名单控制,不让用户跳到某些站点。打个比方,知乎有个竞争对手叫B乎,那就可以对B乎的链接全部阻拦。

另一种安全,是对用户的隐私保护

直接跳转的话第三方网站会得到用户正在浏览的知乎页面的URL, 有可能会造成用户信息泄露等安全和隐私问题。有了跳转页,那被访问网站只能知道链接是来自知乎,但不知道是哪个具体的页面。

测试了简书上的部分外链,是不会带 Referer 请求头。也就是说,外链网站无从得知你是从简书来的。

也可以有效的防止外链接网站通过访问window.opener修改原网站location的安全漏洞。(99% 的网站都“被中招” - 有史以来最被低估的漏洞 - 知乎)

2 全站 https (未考证)

通过ssl认证的中转域名来控制外链,整站的链接都是https了。

3 便于数据统计

有利于统计分析。知乎或简书可以据此统计有多少用户点了外链,都链去哪里了,方便做一些自有统计。

4 搜索引擎优化

在搜索引擎规则里, 如果你所链向的网站受到了降权, 那么你也会有被降权的风险, 使用中转域名跳转也可以避免主域名产生这样的风险。当然,这种风险也可以通过在链接上加上关系属性值: rel=“nofollow” 来解决。查看了知乎,对外链已应用了nofollow.

5卖流量

接上一个原因,一般情况下高权值的大型网站是严控给其它小网站引流的。小网站通过大网站引流,是需要花钱买流量。

6方便业务功能扩展

可以在中转页面对外链接进行功能上的特殊处理。比如,

  • 中转页面可以放广告,推热点(我特别担心这一点)
  • 可以结合url其它参数,对外链进行不同的处理
  • … …

参考资料

为什么知乎的外链链接都要加上“https://link.zhihu.com/?target=”? - 知乎

分享

码中人
作者
码中人
Web Developer