3.3.1 短网址

短链接 (ShortLink)

短链接是 dwz-server 的核心实体,代表一次「长 URL → 短码」的映射。

字段

字段 说明
id 内部数字 ID(通过 ID 生成器产生)
code 对外的短码,Base62 混淆后生成,也可由用户自定义
original_url 原始长链接
domain 关联的短链接域名
title 备注 / 标题
expire_at 可选过期时间
status 启用 / 禁用
click_count 累计点击数(异步更新)
created_at / updated_at 时间戳

生命周期

草稿(API 创建) → 启用(默认) → 可重定向 → [过期 / 禁用] → 归档/删除
  • 创建:调用 POST /api/v1/short_links 或批量接口
  • 跳转:访问 GET /{code} 命中后,返回 302 至 original_url,同时异步写入点击统计
  • 过期 / 禁用:返回错误页(可自定义模板)或 404
  • 删除:逻辑删除,保留历史点击数据

短码生成策略

  1. 自定义短码:用户在创建时指定 custom_code
  2. 自动生成:从 ID 生成器取得唯一数字 ID,经 Base62 位数保持混淆算法转成短码

Base62 混淆算法的正确性分析见「附录 → 工作日志」。

与 A/B 测试的关系

一个短链接可以绑定一个 A/B 测试。当 A/B 测试处于 running 状态时,GET /{code} 会先根据流量分配策略决定命中哪个变体,再返回对应的 target_url