前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >给你代码:短链接生成原理

给你代码:短链接生成原理

作者头像
Java架构师历程
发布于 2020-01-16 09:11:13
发布于 2020-01-16 09:11:13
2.6K0
举报
文章被收录于专栏:Java架构师历程Java架构师历程

8 次查看

短链接,顾名思义就是在形式上比较短的链接。最早存在于微博(如新浪微博,t.cn,url.cn)分享网址中。比如这样的:t.cn/Aidjddvo

短链接的好处

内容需要(比如短信,微博中链接字数的限制);便于管理(方便后台跟踪点击量,便于统计);用户友好(看起来很Cool,提升用户体验)大致思路是定义一个URL映射算法,将长的URL映射到短的URL,使用数据库或缓存文件存储映射关系,实现映射算法。其中关键部分在于映射算法,接下来我们就详细说下映射算法。

映射算法

function shorturl($url) {

$x = sprintf(‘%u’, crc32($url));

$str = ”;

while($x > 0) {

$s = $x % 62;

if($s > 35) {

$s = chr($s + 61);

} elseif ($s > 9 && $s <= 35) {

$s = chr($s + 55);

}

$str .= $s;

$x = floor($x/62);

}

return $str;

}

专属中转服务器

如果自己想搭建一个类似于http://url.cn的短链接生成服务器,需要将所有请求重写到处理脚本:

RewriteEngineOn

RewriteBase/

RewriteRule. index.php

短链接存储方案

因为存储后端实现方式不一,主要思路是将生成的短链接标识存储到数据库:

$url =’https://www.kunquer.com’;

$key = shorturl($url);

insert into url(`key`, url) values($key, $url);// 插入到数据库

查询思路如下:

$uri = trim($_SERVER[‘REQUEST_URI’],’/’);// 短链接标识

$data =select*from url where`key`= $uri // 从数据库中读取结果header(‘Location: ‘.$data->url);// 重定向到真实链接

以上。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020年1月13日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
如何实现一个短链接服务 | 短链接生成原理
短链接,通俗来说,就是将长的URL网址,通过程序计算等方式,转换为简短的网址字符串。
梦溪
2021/08/09
19.7K3
短链接算法收集与分析
一般来说,第三步是我们比较头疼的,如何将一个长的URL字符串,映射成一个较短的字符串呢。我总结了三种办法:
大江小浪
2018/07/25
1.7K0
三步带你开发一个短链接生成平台
用这个地址生成的二维码也是密密麻麻,虽不影响微信长按扫码,一旦二维码尺寸缩一点点,图片马上就会糊掉,导致摄像头直接扫码会难以识别。
葡萄城控件
2020/09/27
3.2K0
三步带你开发一个短链接生成平台
URL短网址生成算法原理
短网址(Short URL),是在形式上比较短的网址,通过映射关系跳转到原有的长网址。
阳光岛主
2019/02/18
4.7K2
搭建短链接平台详细分析及具体代码实现
短链接,又称缩略网址服务、缩址、短址、短网址、缩略网址、网址缩短、缩短网址、URL缩短等,指的是一种互联网上的技术与服务。此服务可以提供短URL以代替原来可能较长的URL,将长的URL地址缩短。
Mintimate
2021/08/12
3.9K0
搭建短链接平台详细分析及具体代码实现
新浪短网址生成器等短链接工具的原理(第二章)
短网址顾名思义就是一个很短的链接和网址,常用于将一个长连接缩短成一个短链接,方便利于推广。  url.cn短网址,可能很多朋友都已经不再陌生,特别是在微博、微信、朋友圈、QQ群、短信息等应用中十分普遍,短网址的前身是在企鹅微博发微博时有时发很长的网址连接,但由于微博只限制140个字,所以微博就自动把您发的长网址给转换成短网址了。  企鹅短链接(url.cn/xxx)属于企鹅微博旗下的短网址,原先是微博在使用。短网址生成可以有效的避免链接过长,推广不便等因素 生成t.cn短连接后更有利于在微信推广和QQ群中推广 !目前过国内使用最多的短网址有三家。其中t.cn 属于新浪短链接,url.cn属于腾讯短链接,dwz.cn属于百度!今天我们要说的就是url.cn短网址!
南昌谢大脚
2020/04/23
2.6K0
如何设计一个短链接系统
短链接是一种将长URL地址转换为较短、易于记忆的链接的技术。它通过使用特定的算法或服务将长链接压缩成更短的形式,以便在限制字符长度或需要更简洁的场景下使用。
柯柏技术笔记
2024/01/10
9150
如何设计一个短链接系统
面试官说:你来设计一个短链接生成系统吧
相信大家在生活中,特别是最近的双十一活动期间,会收到很多短信,而那些短信都有两个特征,第一个是几乎都是垃圾短信,这个特点此处可以忽略不计,第二个特点是**链接很短**,比如下面这个:
秦怀杂货店
2021/12/04
6350
短链接的生成方式
短链接是一种 URL 简化服务, 比如:当你输入一个 URL https://www.xdull.com 时,它将返回一个简化的URL http://tinyurl.com/weuZn ,其中http://tinyurl.com/是提供服务的域名,后面的weuZn为简化后的URL的key值,通过这个key能还原成原来的真正的URL。
兜兜转转
2023/03/06
2.8K0
「System Design」设计一个短链接系统
短链接系统可以把比较长的 URL 网址转换成简短的网址字符串,短链接的优势是方便传播。适合在一些对字符串长度有要求的场景中使用,比如短信,微博等,比如
全球技术精选
2022/09/05
4540
「System Design」设计一个短链接系统
URL短链接实现方法
最近项目开发中,需要实现URL长链接转短链接的需求,于是在网上找了一些资料,顺便整理了下,欢迎有想法的童鞋踊跃留言,我们共同探讨。
wangxl
2018/02/25
7.6K1
URL短链接实现方法
重发和重定向有什么区别与重定向应用
第一次,客户端request A,服务器响应,并response回来,告诉浏览器,你应该去B。这个时候IE可以看到地址变了,而且历史的回退按钮也亮了。重定向可以访问自己web应用以外的资源。在重定向的过程中,传输的信息会被丢失。
王小明_HIT
2020/09/29
8220
重发和重定向有什么区别与重定向应用
短链接原理分析
1. 什么是短链接 顾名思义,短链接即是长度较短的网址。通过短链接技术,我们可以将长度较长的链接压缩成较短的链接。并通过跳转的方式,将用户请求由短链接重定向到长链接上去。短链接主要用在诸如微博,BBS
芋道源码
2018/12/18
3.5K0
短链接服务Octopus的实现与源码开放
半年前(2020-06)左右,疫情触底反弹,公司的业务量不断提升,运营部门为了方便短信、模板消息推送等渠道的投放,提出了一个把长链接压缩为短链接的功能需求。当时为了快速推广,使用了一些比较知名的第三方短链压缩平台,存在一些问题:
Throwable
2020/12/29
1.1K0
面试官:如何实现一个短链接服务?
原文链接:https://javadoop.com/post/url-shortener
cxuan
2020/12/17
2.9K0
面试官:如何实现一个短链接服务?
永久短网址生成 可以永久使用的短链接推荐
微博、短信、微信在推送信息的时候都有字符的数量限制,如果分享一个长网址,很容易就超出限制,发不出去。短网址服务可以把一个长网址变成短网址,方便在社交网络上传播。
全栈程序员站长
2022/09/02
7K0
永久短网址生成 可以永久使用的短链接推荐
腾讯url短网址在线生成_腾讯(url.cn)短网址链接生成api接口
免费缩短网址缩短工具,提供安全的网址缩短、短网址生成服务及稳定的短网址API接口;具有稳定、快速、安全的特点,支持批量缩短、批量短网址还原、数据报表、开放API接口等服务。
用户2557763
2021/12/30
9.5K0
腾讯url短网址在线生成_腾讯(url.cn)短网址链接生成api接口
面试必备:如何将一个长URL转换为一个短URL?
前几天整理面试题的时候,有一道试题是《如何将一个很长的URL转换为一个短的URL,并实现他们之间的相互转换?》,现在想起来这是一个绝对不简单的问题,需要考虑很多方面,今天和大家一起学习研究一下!
Java后端技术
2018/08/09
7.8K0
面试必备:如何将一个长URL转换为一个短URL?
短链接生成太无聊?试试看长链接生成,URL地址变成乐谱音符🎵
用短链接替换较长的原始 URL,使得用户在访问网页或资源时可以使用更短、更便于记忆和分享的链接,也方便隐藏Get请求。
Mintimate
2023/09/23
6772
短链接生成太无聊?试试看长链接生成,URL地址变成乐谱音符🎵
设计一个系统将长链接地址转为短链接地址
最近遇到一个面试题,问请你设计一个系统将长链接转为短链接。起初回答的不是很好,之后通过自己思考和查阅资料将这块的内容进行整理。
翎野君
2023/05/12
1.2K0
设计一个系统将长链接地址转为短链接地址
推荐阅读
相关推荐
如何实现一个短链接服务 | 短链接生成原理
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档