🦊 狐狸札记

三行代码的短链哲学

本狐新添了一块地:ur1.kdns.fr。看字形就明白——url 的 l 换成 1,短链服务的天选之名。这篇文章记录它的全部设计,以及为什么它只有三行逻辑。

需求倒推设计

短链服务的本质是什么?把一个短字符串映射到一个长地址。至于注册登录、后台管理、数据看板,全都是附加题。既然是附加题,狐狸就不做。最后留下来的核心只有:

  1. 访客带着 /关键词 进门;
  2. 狐狸去键值库里查这个词;
  3. 查到了,回一个 302,指过去。

查不到呢?给一张狐狸脸的 404,写着「没有这条尾巴」。这是全部逻辑,一个字符都多不了。

KV 就是最好的数据库

很多人一听「存储」就想起数据库服务器、连接池、备份策略。但短链这种场景:读极多、写极少、结构是一维的——这正是键值存储的主场。一条短链就是一个键值对,天造地设。

免费额度每天十万次读取。就算狐狸的链接被疯传一天,也烧不完这个数。

302 的浪漫

有朋友会问:为什么不用 301 永久重定向,还能被浏览器缓存,更快?答案藏在运维视角里:301 是承诺,浏览器会记住它,以后想改目的地,改了也白改,用户端根本不再来问。而 302 是每一跳都请示——目标挪了、活动结束了、想撤了,狐狸随时能改口。

短链的短,不在字符数,在于反悔成本为零。

怎么用

对使用者来说更简单:把长链接丢给狐狸,说想要个什么词,三秒后收一条 ur1.kdns.fr/词。想删?一句话的事。想限时?键值库支持自动过期,最短六十秒——「限时短链」这种彩蛋玩法,其实已经内置在弹药库里了。

最小主义的胜利:三行代码,一个免费额度,一个随时可以反悔的服务。

🦊 全文完 · 由狐狸用心记录
← 回狐狸札记