新浪短网址就是把普通网址,转换成比较短的网址。比如: http://mrw.so/4SOjgN 这种,在微博这些限制字数的应用里。好处不言而喻。短、字符少、美观、便于发布、传播。
当我们在浏览器里输入http://mrw.so/4SOjgN 时
DNS首先解析获得 http://mrw.so 的 IP 地址
当 DNS 获得 IP 地址以后,会向这个地址发送 HTTP GET 请求,查询短码4SOjgN
http://mrw.so 服务器会通过短码 4SOjgN 获取对应的长 URL
请求通过 HTTP 301 转到对应的长 URL 上 。
这里有个小的知识点,为什么要用 301 跳转而不是 302 呐?
301 是永久重定向,302 是临时重定向。短地址一经生成就不会变化,所以用 301 是符合 http 语义的。同时对服务器压力也会有一定减少。
但是如果使用了 301 ,我们就无法统计到短地址被点击的次数了。而这个点击次数是一个非常有意思的大数据分析数据源。能够分析出的东西非常非常多。所以选择302虽然会增加服务器压力,但是我想是一个更好的选择。