访问短链的时候从数据库中查出对应的长链接,返回 302 重定向即可。
301 vs 302
- 301 是永久重定向,就是重定向一次之后,下次浏览器就不会再访问短链,会直接访问长链接。
- 302 是临时重定向,下次访问短链依然会先访问短链服务,返回 302 后再重定向到长链。
使用 301 的话,短链服务压力小,不过 302 每次都会先访问短链服务,这样可以记录链接的访问次数等数据。访问记录也挺有价值的。所以一般短链服务都是用 302 来重定向
- 创建短链接
GET /long?url=<your_long_url> HTTP/1.1
- 反查长链接
GET /short?code=<your_short_code> HTTP/1.1
- 使用链接
GET /<your_short_code> HTTP/1.1