短链接生成原理,附上祖传代码

发布者:三维推

2020-09-28 11:45:10

阅读: 3566

  当您要在社交媒体、微博、短信或者电子邮件中发送链接的时候,你会发现原始的长链接十分影响内容的阅读。这时候便要使用短链接生成器了,这个工具可以帮助您缩短原长链接,今天来说说短链接生成原理是什么。


短链接生成原理

短链接生成工具之所以能够缩短链接,是因为使用web服务器的URL重定向功能。其原理就是把新URL(短链接)重定向到旧URL(长链接)。当您在浏览器输入或者点击URL的时候,它实际上将HTTP命令发送到Web服务器,指示web页面该如何工作。服务器可以返回一系列重定向HTTP响应码,包括以下内容:

-301(永久重定向)永久把一个链接重定向到另一个链接。

-302(临时重定向)临时把一个链接重定向到另一个链接。

-303(其他)返回“请参阅其他”状态,指示资源以及被替换

短链接生成器的原理基本分为2个步骤:

1.从长网址获取哈希值(生成短网址)

2.将短网址跳转到短网址。

第二部分工作通常是用mod_rewrite来完成。一些基本的重写规则可以是这样的:

RewriteEngine On

RewriteBase /

RewriteRule ^(.*)$ index.php?hash=$1 [L]

mod_rewrite从url获取哈希值,并将其传递给GET方法的变量。脚本将通过此哈希值,$_GET['hash']从数据库获取url的原始长版,并将浏览器的位置重定向到该位置。

如果主机不支持mod_rewrite,则必须手动将哈希值传递到变量中,例如http://www.domain.com/?hash=abc。我们可以将hash变量的名称更改为任何形式以缩短url,例如WordPress使用'p':http://www.domain.com/?p=100。

示例:如何使用三维推短链接生成器缩短URL


我们只需要把相应的长链接输入,然后点击立即缩短则得到了生成的短网址。

为什么要缩短网址?

短网址的起源在于推特和微博对于字数的限制。为了在输入网址的时候节省字符空间,便有了缩短网址的需求。而后来发现短链接更方便人们进行内容阅读,因此在短信推广、邮件推广等方面也流行起来。还有些人使用短链接是为了隐藏原始域名,防止流量平台屏蔽。

短链接生成原理本身不复杂,需要将长链接和短链接在数据库中的ID生成哈希数来减少在数据库中的字段。真正的难点在于大量链接生成的压力以及风控问题。