短链接是什么? {#短链接是什么}
短链接又称短网址,意思就是比较短的网址。短链接服务通过将一个冗长的网址转换成一个短网址。
短链接服务通常会提供以下功能:
- 生成短链接:用户可以输入长 URL 地址,短链接服务会自动生成相应的短链接。
- 跳转到原始URL:当用户访问短链接时,短链接服务会将其重定向到原始URL。
- 统计访问数据:短链接服务通常会提供访问短链接的次数等统计数据。
短链接有什么优点和缺点? {#短链接有什么优点和缺点}
短链接通常由以下优点:
- 易于记忆和传播:短链接通常只包含几个字符,因此很容易记忆和传播。
- 美观:短链接通常更加美观,尤其是在社交媒体上发布时。
- 节省空间和流量:在推特、微博、微信公众号、短信等限制字数的应用中,短网址可以缩短字符,规避掉这些限制,节省空间和流量。
但是,使用短链接也存在一些风险,比如可能被用于欺骗或钓鱼,因为用户无法直接看出短链接的目标网站是什么。
自建短链接服务 {#自建短链接服务}
本文使用 Cloudflare Pages 提供的免费服务,自建短链接服务。免费版本支持每天 10 万次请求,日常使用已足够。
前提条件:
- 一个 GitHub 账号
- 一个 Cloudflare 账号
- 一个短域名托管到 Cloudflare
Step 1: Fork linklet 仓库 {#step-1-fork-linklet-仓库}
仓库地址:https://github.com/harrisonwang/linklet
Step 2: Cloudflare 控制台配置 {#step-2-cloudflare-控制台配置}
1.创建并部署 Pages 应用
登录 Cloudflare 控制台,依次点击 Workers & Pages > Create application > Pages > Connect to Git,选中 Fork 的仓库完成部署。
2.创建 D1 数据库
依次点击 Workers & Pages > D1 > Create database > Dashboard 进入 D1 控制台页面,输入 Database name 点击 Create 完成数据库的创建。
然后,点击 Console输入以下命令完成表的创建:
|------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| DROP TABLE IF EXISTS links; CREATE TABLE IF NOT EXISTS links ( `id` integer PRIMARY KEY NOT NULL, `url` text, `slug` text, `ua` text, `ip` text, `status` int, `create_time` DATE ); DROP TABLE IF EXISTS logs; CREATE TABLE IF NOT EXISTS logs ( `id` integer PRIMARY KEY NOT NULL, `url` text , `slug` text, `referer` text, `ua` text , `ip` text , `create_time` DATE );
|
3.配置 Pages 应用
接着点击进入部署完成的 linklet 项目,在 Cloudflare 控制台依次点击Settings > Functions > Add bindings,并输入 Variable name 值,选择 D1 Database,点击 Save 保存,设置如下表:
| Variable name | D1 database | |---------------|-------------| | DB | linklet |
为了生效 D1 数据库配置,需 Cloudflare 控制台重新部署 Pages 应用。
Step 3: 绑定短域名 {#step-3-绑定短域名}
在 Cloudflare 控制台依次点击 Workers & Pages > linklet > Custom domains > Set up a custom domain,输入要绑定的短域名点击提交完成域名绑定。
Step 4: 网页方式使用 {#step-4-网页方式使用}
打开 wss.so 页面,输入要转换的长网址,点击 生成 后的短链接如下图所示:
Step 5: API 方式使用 {#step-5-api-方式使用}
请求:
|------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| ### 生成随机短链接 POST https://wss.so/create Content-Type: application/json { "url": "https://ollama.com/blog/how-to-prompt-code-llama" } ### 生成指定 slug 短链接 POST https://wss.so/create Content-Type: application/json { "url": "https://ollama.com/blog/how-to-prompt-code-llama", "slug": "llama" }
|
响应:
|-----------------|--------------------------------------------------------------|
| 1 2 3 4
| { "slug": "<slug>", "link": "http://wss.so/<slug>" }
|