长链形成短链,短链URL 重定向访问原链接

1. 长链生成短链

  • 长链:是一个较长且包含复杂路径的 URL,例如一个网页地址、文件下载链接、或是带有多个参数的 URL。

  • 短链 :是一个较短的 URL,通常通过短链服务(如 Bitly、TinyURL、百度短链接等)生成,通常表现为:

    vbnet 复制代码
    https://short.ly/abc123

生成短链的过程主要通过短链服务的 数据库映射 来实现。短链服务会将长 URL 映射为一个短的标识符,并存储在其数据库中。这些短链通常是一个编码后的字符串。

  • 例如,长链:

    vbnet 复制代码
    https://example.com/this-is-a-long-url/with-many/parameters?name=value&other=value

    被映射到一个短链:

    vbnet 复制代码
    https://short.ly/abc123

这个短链就变成了一个唯一的标识符,指向原来的长 URL。

2. 短链重定向到长链

  • 当用户点击短链(例如 https://short.ly/abc123)时,短链服务会读取该短链标识符 abc123,然后查找数据库中与该标识符关联的原始 URL(即长链)。
  • 找到原 URL 后,短链服务通过 HTTP 重定向 将用户引导到原始 URL。

3. HTTP 重定向的工作原理

在前端(浏览器端),HTTP 重定向是通过设置 3xx 状态码 来完成的,常见的包括:

  • 301 Moved Permanently:表示资源被永久转移到新的位置。
  • 302 Found(临时重定向):表示资源被临时转移。
  • 303 See Other 和 307 Temporary Redirect 也常用于重定向。

例如,短链服务会返回一个响应,像这样:

http 复制代码
HTTP/1.1 301 Moved Permanently
Location: https://example.com/this-is-a-long-url/with-many/parameters?name=value&other=value

浏览器收到这个响应后,会自动跳转到新的 URL,也就是原始长链的内容。

4. 短链服务如何工作

  1. 用户访问短链(例如 https://short.ly/abc123)。
  2. 短链服务查找数据库中与 abc123 对应的原 URL。
  3. 短链服务返回 301 或 302 重定向 状态码,告诉浏览器跳转到原始 URL。
  4. 浏览器跳转到原 URL,最终加载页面内容。

5. 常见的短链生成服务

常见的短链服务(如 Bitly、TinyURL、百度短链接等)会为每个长链生成一个唯一的短 URL。生成短链的过程通常包括:

  • 通过哈希算法或其他方法生成短链的标识符(如 abc123)。
  • 将该标识符与原始 URL 存储在服务的数据库中。
  • 当用户访问短链时,短链服务从数据库中查找原 URL,并通过 HTTP 重定向将用户引导到原网址。
相关推荐
Lvan的前端笔记10 小时前
docker:每个前端项目一个 Nginx 容器还是只有一个Nginx容器
前端·nginx·docker
三天不学习10 小时前
Egg.js 4 突然爆火,原因是否归结于AI 原生落地需求爆发?
前端·javascript·全栈·egg.js
xcs1940511 小时前
前端 vue 的前端页面debugger 进不去
前端·javascript·vue.js
明月_清风12 小时前
Deno 终局来了:从挑战 Node 到被 Cloudflare 收编
前端·后端·node.js
Csvn13 小时前
框架性能优化
前端
回眸&啤酒鸭14 小时前
【回眸】OpenSwarm 多智能体协作系统实战指南
大数据·前端·人工智能
用户693717500138415 小时前
2026,程序员的时代拐点到了
android·前端·后端
大龄秃头程序员15 小时前
一次 iBeacon + BLE 无感解锁方案的实现记录
前端
小兔子15 小时前
Python 的 GIL 与 free-threading:3.13 之后「去 GIL」走到哪一步了
前端
IT_陈寒15 小时前
SpringBoot自动配置差点让我加班到凌晨
前端·人工智能·后端