系统: Mac OS 10.15.1
写作时间:2019-11-20

说明

长链接比较长,一般分享有字数限制,所以需要转换为短链接。
比如:
长链接:https://github.com/zgpeace/geekTimeQrcode
短连接:https://url.cn/5fslXqH

这两个链接最后打开都是同一个地址。

上面的链接是通过站长在线转换的:https://tool.chinaz.com/tools/dwz.aspx
短链接生成原理

原理解析

当我们在浏览器里输入 https://url.cn/5fslXqH 时

  1. DNS首先解析获得 https://url.cn 的 IP 地址
  2. 当 DNS 获得 IP 地址以后(比如:127.0.0.1),会向这个地址发送 HTTPGET 请求,查询短码 5fslXqH
  3. https://url.cn 服务器会通过短码 5fslXqH 获取对应的长 URL
  4. 请求通过 HTTP301 转到对应的长 URL https://github.com/zgpeace/geekTimeQrcode。

这里有个小的知识点,为什么要用 301 跳转而不是 302 呐?

301 是永久重定向,302 是临时重定向。短地址一经生成就不会变化,所以用 301 是符合 http 语义的。同时对服务器压力也会有一定减少。
但是如果使用了 301,我们就无法统计到短地址被点击的次数了。而这个点击次数是一个非常有意思的大数据分析数据源。能够分析出的东西非常非常多。所以选择302虽然会增加服务器压力,但是我想是一个更好的选择。

参考

https://zhuanlan.zhihu.com/p/43348582

相关文章: