关于短链接:短链生成

3次阅读

共计 364 个字符,预计需要花费 1 分钟才能阅读完成。

益处

音讯长度缩短,平安暗藏参数,能够统计点击次数

原理

  • 用户拜访短链,申请达到服务器
  • 服务器将短链转换为长链,给浏览器返回 301/302 重定向码

      301 永恒重定向,浏览器会缓存,短链拜访次数统计会不正确
      302 长期重定向,每次都要到短链零碎转换,拜访压力大 
  • 浏览器拿到状态码和长链接,重定向到长链接

设计

  • 给每个长链接一个惟一 id。

    • 数字
      单机惟一 id 能够用原子类,分布式的能够用 redis、数据库自增、zookeeper。
      数字大了还是很长,递增的数字太有规律性不平安
    • 数字联合大小写字母,转换为 62 进制数字,为了缩小计算工夫,这个字段也存起来
      62 进制还是很容易被猜出来
    • 用某种规定加上随机值,eg. 奇数位用 62 进制,偶数位用随机字符
    • 再加个字段存过期工夫
    • 流量大就搞一层缓存
    • id 用完了就重用曾经生效的 id 号
    • 如果疯狂被人申请不存在的短链怎么办?布隆过滤器。
正文完
 0