短链接服务搭建

短链接服务搭建,第1张

关键词:长链接;短链接;重定向;

长链接问题:

        复制容易出错,长链接URL较长,有时参数不止一个,复制容易遗漏或在粘贴时被编辑器截断;

        容易被屏蔽,绝大部分长链接暴露了资源来源及分配策略,在投放第三方时容易被屏蔽,比如被短信屏蔽,(淘宝宝贝长链接)被微信屏蔽......;

反例:

因此,我们考虑短链接服务对长链接进行压缩,跳转替代!

        1、用户访问短链接: https://0x9.me/QvjlI ;

        2、短链接服务器0x9.me收到请求,根据路径参数QvjlI获取到原始链接:

http://www.dazhongkanche.com/daogou/20200914/64294.html

        3、服务器返回301/302状态码,将响应头中的Location设置为 原始链接;

        4、浏览器重定向到原始链接;

        5、返回响应;

短链接生成:

1、库表设计:id、code(短链码)、url(原链接),采用Key-Value方式对应存储

2、短链码

1)、存储方式:62进制,每位 可选 a-z、A-Z 和 0-9  等62个字符,比通常的数字方式存储量大。注:

        4位就可以表征 62^4 = 1477,6336 约 1500万条数据;

        5位可以表征 62^5 = 9,16132832 约 9亿条数据;

        6位可以表征 62^6 = 568,00235584 约 560亿条数据;

例子:

        通过短链码的长度,可以判断得出各平台服务板块的历史业务量,如上:

        【菜鸟驿站】同【拼多多】,采用了8位短链码,62^8 = 218,3401,05584896,业务量都累积到了多少万亿级别。

        另,值得关注,点击拼多多的链接直接打开APP(具体技术方案参考: 如何从推广短信链接唤起 App ),优于绝大部分应用的推广。

2)、生成方式:可以按ID自增序列(自增后10到62进制转换)、哈希算法方式生成,可参考: 如果教你设计一个 短 链接 系统,你会从那些方面来提高性能呢?

重定向性能考虑:

1、301、302跳转区别:

1)、301跳转,永久重定向,默认被浏览器缓存,只要访问过一次短链,后续都会直接跳转原链地址,不经过服务器;

2)、302跳转,临时重定向,不被浏览器缓存,每次都经过短链接服务器;

所以,要想实现短链更灵活的资源跳转配置,采用302跳转就比较合适,缺点是:对搜索引擎不友好+性能问题(每次都要过短链服务);考虑到SEO+访问性能(浏览器缓存解决),建议采用301跳转方式。

2、通过Redis做查询表,短链Code 映射长链接Url;

3、防机器人脚本访问,结合白名单等机制;

注:作为对外开放的短链服务对设计要求更高,完全作为一个独立系统进行设计。

注:本当章节下所有内容的撰写思路与方式:

1、针对指定资源手动生成短链接,进行投放;

2、针对指定资源,批量生成短链接,并形成记录,以便进行投放;

3、在一些环节(如:短信投放、微信分享时),自动生成短链接(用户无感)完成投放;

介绍如何应用场景:

1、朋友圈消息:

2、微信/QQ群插件自动发送链接

微信,空间节约效果良好:

常用的QQ群自动回复插件:

3、短信营销

优点:

1、在链接投放时,方便复制粘贴;

2、短网址使排版变的美观,简洁,用户关注的重点在文案上面;

3、防止屏蔽,如短信屏蔽、微信屏蔽....

4、访问资源有效期控制,添加密码等:

        原则上可以在跳转之前做任何后端想做的事情,比如访问统计,比如后续访问链接的切换,所以对访问资源的可控性就比较强,

        举例:跳转资源不稳定,今天是A,明天是B,就可以通过修改原链接实现跳转资源的切换。

关联技术的延展介绍

1、301对重定向的影响: https://www.batmanit.com/p/457.html

2、有投放就必然涉及到投放资源、渠道、及效果的管理:

        资源管理,比如说文章;

        渠道管理,比如:微信渠道(公号、朋友圈、运营人员个人私聊)、QQ、微博、短信、头条.....

        投放效果统计,针对文章的效果统计(各文章的效果如何?),针对渠道的效果统计(各渠道的效果如何?),针对文章&渠道的效果统计(即不同文章在不同渠道的效果如何?)

3、 一切为了营收!如何从推广短信链接唤起 App ?

4、 如果教你设计一个 短 链接 系统,你会从那些方面来提高性能呢?

短链接,通俗来说,就是将长的URL网址,通过程序计算等方式,转换为简短的网址字符串。

微博和Twitter都有140字数的限制,如果分享一个长网址,很容易就超出限制。

营销短信,字数的限制,当字数过长: 1.不美观 2.超出字符额外收费。

生成二维码的原始链接,当原始链接过长时,生成的二维码过于复杂,导致一些像素较低的手机无法扫描.

功能要求:

非功能性要求:

扩展要求:

可以使用 REST API 来公开我们服务的功能。以下可能是用于创建和删除 URL 的 API 的定义:

createURL (api_dev_key, original_url, custom_alias=None, user_name=None, expire_date=None)

参数:

api_dev_key(string):注册账号的API开发者密钥。除其他外,这将用于根据分配的配额限制用户。

original_url(字符串):要缩短的原始 URL。

custom_alias(字符串):URL 的可选自定义键。

user_name(字符串):在编码中使用的可选用户名。

expire_date (string): 缩短 URL 的可选过期日期。

返回 :(字符串)

成功插入会返回缩短的 URL;否则,它会返回错误代码。

deleteURL (api_dev_key, url_key)

其中“url_key”是一个字符串,表示要检索的缩短的 URL;成功删除会返回“已删除 URL”。

如何发现和防止滥用?恶意用户可以通过使用当前设计中的所有 URL 密钥使我们破产。为了防止滥用,我们可以通过他们的 api_dev_key 限制用户。每个 api_dev_key 可以限制为每个时间段内特定数量的 URL 创建和重定向(每个开发者密钥可以设置为不同的持续时间)。

结合储存数据设计:

数据库架构:

我们需要两张表:一张用于存储有关 URL 映射的信息,另一张用于创建短链接的用户数据。

应该使用什么样的数据库?由于我们预计存储数十亿行,并且我们不需要使用对象之间的关系——NoSQL 选择更容易扩展

在第 1 节的示例中,缩短的 URL 是“https://tinyurl.com/vzet59pa”。这个 URL 的最后八个字符构成了我们要生成的短链。讨论以下两种解决方案: 摘要算法、自增序列算法

方案一:摘要算法

这种算法,虽然会生成4个,但是仍然存在重复几率

方案二: 自增序列算法

设置 id 自增,一个 10进制 id 对应一个 62进制的数值,1对1,也就不会出现重复的情况。这个利用的就是低进制转化为高进制时,字符数会减少的特性。

第一种算法的好处就是简单好理解,永不重复。但是短码的长度不固定,随着 id 变大从一位长度开始递增。如果非要让短码长度固定也可以就是让 id 从指定的数字开始递增就可以了。百度短网址用的这种算法。

为了扩展我们的数据库,我们需要对其进行分区,以便它可以存储有关数十亿个 URL 的信息。因此,我们需要开发一种分区方案,将我们的数据划分并存储到不同的数据库服务器中。

一个基于范围的分区: 我们可以根据哈希键的第一个字母将 URL 存储在单独的分区中。因此,我们将所有以字母“A”(和“a”)开头的 URL 哈希键保存在一个分区中,将那些以字母“B”开头的 URL 哈希键保存在另一个分区中,依此类推。这种方法称为基于范围的分区。我们甚至可以将某些不太频繁出现的字母组合到一个数据库分区中。因此,我们应该开发一种静态分区方案,以始终以可预测的方式存储/查找 URL。

这种方法的主要问题是它可能导致数据库服务器不平衡。例如,我们决定将所有以字母“E”开头的 URL 放入 DB 分区,但后来我们意识到我们有太多以字母“E”开头的 URL。

另外基于散列的分区: 在这个方案中,我们获取我们正在存储的对象的散列。然后我们根据哈希计算要使用的分区。在我们的例子中,我们可以使用“键”或短链接的哈希值来确定我们存储数据对象的分区。

我们的散列函数会将 URL 随机分布到不同的分区中(例如,我们的散列函数总是可以将任何“键”映射到 [1…256] 之间的数字)。这个数字将代表我们存储对象的分区。

这种方法仍然会导致分区过载,这可以使用一致哈希解决。

可以缓存经常访问的 URL,结合缓存中间件例如 Memcached、redis,它可以存储完整的 URL 及其各自的哈希值。因此,应用服务器在访问后端存储之前,可以快速检查缓存是否具有所需的 URL。

我们应该有多少缓存内存? 我们可以从每天 20% 的流量开始,根据客户的使用模式,我们可以调整我们需要多少缓存服务器。如上所述,我们需要 170GB 的内存来缓存 20% 的日常流量。由于现代服务器可以拥有 256GB 内存,我们可以轻松地将所有缓存放入一台机器中。或者,我们可以使用几个较小的服务器来存储所有这些热门 URL。

哪种缓存驱逐策略最适合我们的需求? 当缓存已满,并且我们想用更新/更热的 URL 替换链接时,我们将如何选择?最近最少使用 (LRU) 可能是我们系统的合理策略。根据此政策,会首先丢弃最近最少使用的 URL,可以使用 Linked Hash Map 或类似的数据结构来存储我们的 URL 和哈希,这也将跟踪最近访问过的 URL。

如何更新每个缓存副本? 每当缓存未命中时,我们的服务器就会访问后端数据库。每当发生这种情况时,我们都可以更新缓存并将新条目传递给所有缓存副本。每个副本都可以通过添加新条目来更新其缓存。如果副本已经有该条目,它可以简单地忽略它。

我们可以在系统的三个地方添加负载均衡层:

条目应该永远存在,还是应该被清除?如果达到用户指定的过期时间,链接会发生什么?

如果我们选择不断搜索过期链接来删除它们,这会给我们的数据库带来很大的压力。相反,我们可以慢慢删除过期链接并进行惰性清理。我们的服务会确保只删除过期的链接。

用户能否创建私有 URL 或允许一组特定用户访问 URL?

可以将权限级别(公共/私有)与数据库中的每个 URL 一起存储,还可以创建一个单独的表来存储有权查看特定 URL 的 UserID。如果用户没有权限并尝试访问 URL,可以发回错误 (HTTP 401)。鉴于我们将数据存储在像 Cassandra 这样的 NoSQL 宽列数据库中,表存储权限的键将是“哈希”(或 KGS 生成的“键”)。这些列将存储那些有权查看 URL 的用户的用户 ID。

热门频道

首页

博客

研修院

VIP

APP

问答

下载

社区

推荐频道

活动

招聘

专题

打开CSDN APP

Copyright © 1999-2020, CSDN.NET, All Rights Reserved

可以转发的自定义短域名

打开APP

Azote – 可解析可转发的法国超短免费二级域名 原创

2013-12-13 00:00:21

心语家园

码龄14年

关注

Free8发现Azote设置转发容易被封,而解析却没问题,请大家注意!

来自法国的Azote为站长们提供免费二级域名服务,域名后缀有asso.st、fr.cr、fr.nf、biz.st、ze.cx、 infos.st和xxl.st,都挺短的,申请简单,无任何广告,仅可设置DNS、A记录和网址转发,不支持设置其它解析,可在免费二级域名基础上添加 子域名,隐藏转发需要管理员审核。

网址:http://www.azote.org

Free8发现Azote设置转发容易被封,而解析却没问题,请大家注意!大家可以使用免费DNS解析服务来设置转发,不要直接用Azote的转发服务。另外Azote的解析不是马上生效,需要等待一段时间。

虽然是法语网站,但申请和使用都非常简单,看不懂的朋友借助Google翻译来在线翻译一下即可。如果觉得Azote的解析功能太简单了,可以结合中国E动网免费DNS解析服务来使用。

免费二级域名演示:http://free8.infos.st

免费二级域名子域名演示:http://free8.free8.infos.st

查看原文: http://shouji163.cn/archives/969

打开CSDN,阅读体验更佳

短域名php,利用PHP实现短域名互转_勃欣然的博客

利用PHP实现短域名互转 如何使用PHP实现短域名互转?下面的代码可以帮助你实现,非常简单,需要的朋友可以参考下。 代码如下: /** * 短域名生成&解析类 */ class Build_URL { private$memprivate $base_url = 'http://xxx.com/...

自定义短网址-不死鸟微信防封系统api-SDK(六)_chaogai6917的博客-CSDN...

如果你微信业务有个落地页面域名 a,如果你希望整个跳转防封都是自己的自己的域名,自定义短网址非常适合你,让你的链接管理高度可控。不和别人混淆使用。 在微信里面 防封的网址打开有3种方式: 直接打开 提示浏览器打开 如果域名被微信封...

k6免费二级域名转发程序

功能虽不多但是解析二级域名的速度是很快的<br>后台管理文件是 admin.asp<br>程序具体配置请修改 congif.asp

如何获得免费二级域名?仅需这一步

很多人都会用自己的PC机搭建服务器,但是由于没有固定公网IP,使得异地访问变得很麻烦。 这时候就需要使用域名来解析IP地址,实现外网访问。 像baidu.com、sohu.com这样的一级域名是需要实名注册并且收费才能获取,如果我们不是做网站来用,实际上是用不到的。 所以很多人在寻找免费的二级域名,下面我就给大家推荐一个非常好用软件——快解析 下载并安装“快解析”客户端https://www.kuaijiexi.com/ 这样我们就获得了一个以“用户名.gnway.cc”为格式的免费二级...

继续访问

自建自定义短网址,可自定义域名,可统计点击数、来源_搞么罗的博客-CSDN...

很多网友在网上通过短网址发布信息时,无法统计是通过哪个渠道点击。 今天分享一个程序,这款程序不仅可以生自定义的短网址,还可以统计点击信息。 PS: 其实,用自己的域名不仅可以显得出逼格,其实更重要的是为了更好的统计转化。短网址,重要...

微信域名防封之使用自定义短域名和短域名服务器-不死鸟微信域名防封系统...

目前市面上iis,apache,nginx等web服务器均支持反向代理。成熟的web服务器都支持反向代理。不知道,可以度娘 步骤: 一、在某宝/度娘上购买已经备案域名,至少2个域名。 第一个域名:做顶级入口跳转域名短网址(微博短网址指向这个域名) ...

CO.CC – 功能全面的超短免费二级域名

CO.CC – 功能全面的超短免费二级域名 CO.CC免费提供“yourname.co.cc”的免费二级域名,也可以注册“你的名字.co.cc”这样的中文域名以及其它语种域名,具有包括中文版在内的20多种语言版本,支持隐藏或不隐藏原URL转发,完全DNS解析功能,可以修改DNS,设置A记录、CNAME记录、NS记录以及MX记录,还完全支持GoogleApps企业邮局,而且没有广告...

继续访问

一些获取免费域名的方法

1、花生壳域名: 建议大家开通免费渠道即可或者 几十块钱就可以买一年 2、freenom域名: 这个是一个注册免费域名的网站, 可以免费注册tk等域命 3、免费的ml、gl域名 有些ws小程序(这里我推荐->域名com)这个小程序可以获取一年的免费域名,但是他们好像要你填写用途才能获取到域名 ...

继续访问

汇总一下至今可用的短网址服务_leer_gd的博客_当前可用...

1.百度短网址:首推百度的,毕竟大厂出品,稳定一些,可以自定义 2.新浪短网址:百度的限制比较多,推荐新浪的,可用的后缀很全 3.T.TLURL Shortener :服务存在很久,短网址很短,可以自定义,但是有中转页面 ...

短域名原理_weixin_33894992的博客

首先,短域名仍然遵守 URL 的标准格式,即:schema+host+path。schema 没什么好说的,host 部分,仍然是各回各家,各找各妈。例如,t.cn 是新浪的,tb.cn 是阿里的(话说,新浪能抢到 t.cn 这个域名,也是够拼的)。这部分必定是需要 DN...

二级域名 免费+免备案

今天给大家推荐一个免备案的免费二级域名注册平台。 DYUNS域名网 - 永久免费域名_免备案域名 只需要一个邮箱,就能注册到自己的二级域名,非常方便。 提供"icu.ltd"等超短域名注册服务,非常有利于用户访问与记忆。 平台还提供了免费的 CDN+防御+免备案 服务,这是其他平台都没有的,也是我选择它的理由之一。 管理也非常方便,后台一键就能完成自助删改解析等操作。 官方客服的服务也是十分的到位,体验很好。 大家也可以自行注册体验哦! ...

继续访问

CSDN自定义域名短代码分享

前言 众所周知,CSDN博客六级送自定义域名,但是我水了这么久才五级,实在是等不下去了,于是通过自己的服务器(Github page也行,但是Gitee page行不通)利用了一个简单的HTML标签实现了自定义域名跳转,以后再也不用记CSDN又长又乱的域名了,废话不多说,短代码奉上 <!DOCTYPE html><html><head><meta charset="utf-8"><title><

继续访问

BeLink v1.0.4网站URL缩短器短域名生成源码_普通网友的博客

BeLink v1.0.4网站URL缩短器短域名生成源码 介绍: BeLink是一款高质量的URL缩短程序。 它可用于在几分钟内轻松创建您自己的公共或私有url缩短网站,而无需任何编码知识。 运行环境 PHP版本gt= 5.6...

springboot实现自定义短网址_hlvy的博客

springboot实现自定义短网址 短网址(Short URL) ,顾名思义就是在形式上比较短的网址。通常用的是asp或者php转向,在Web 2.0的今天,不得不说,这是一个潮流。目前已经有许多类似服务,借助短网址您可以用简短的网址替代原来冗长的网址,...

免费二级域名分发企业备案域名 阿里云备案域名

幻影解析网(dns.52hyjs.com)专为新手站长提供的免费二级域名解析,域名均免费提供使用专门提供二级域名解析的平台,域名均免费提供使用,不收取任何费用,提供的域名当中有已备案域名和未备案域名,域名后缀多可自主选择解析 全站提供免费阿里云企业备案域名 供大家使用 https://dns.52hyjs.com/ ...

继续访问

Venez - 20余种后缀的免费二级域名

Venez是来自法国的免费二级域名,提供注册yourname.1s.fr、yourname.ch.ma、yourname.ze.tc等20多种后缀的免费二级域名,支持隐藏原URL转发(这样会有广告),除可域名转发还可设置A记录以及动态域名解析,具有简单统计功能。另外,还提供同域名后缀的免费转发邮箱(要注册完成后登陆后台申请开通)。 申请地址:http://www.venez.fr在页中文本框中输...

继续访问

最新发布 免备案二级域名 长久稳定+已备案

提供"xjqxz.top"等超短域名注册服务,非常有利于用户访问与记忆。域名网 - 永久已备案域名_免备案域名。,就能注册到自己的二级域名,非常方便。一键就能完成自助删改解析等操作。推荐一个免备案的二级域名注册平台。大家也可以自行注册体验哦!

继续访问

原创:免费域名服务(可提供免费顶级超短域名和url转发服务,经测试成功。)...

今天下午在网上发现了一个可以提供免费域名服务的好东西:http://www.co.cc/ 为了便于操作,进入网站后首先在网站右上角选择语言:中文(简体) 首先是要注册一个账号,注册成功后用该账号登陆。 然后开始检测域名是否可以创建: 例如我申请的域名为:www.nicholaslee.co.cc 如果该域名可用即可点击下一步继续申请,申请好的域名要在48小时以内进行设置 :...

继续访问

免费申请国外免费域名超详细教程

1.首先申请免费域名网站:https://my.freenom.com/domains.php 2.填入域名,这里我们以xcflag为列(尽量选择复杂一点的或者五个字母以上的域名,因为简单的有些域名是需要收费的),点击检查可用性。 3.可以看到很多免费的域名(用的谷歌翻译插件,翻译有时候不是很准确,free翻译过来应该是免费而不是自由,之后会写一些关于谷歌插件的笔记,详细讲解) 4.我们选择xcflag.tk点击立即获取,稍等一会点击购物车查看绿色按钮 5.默认三个月试用,这里下拉框我们选择十二个月

继续访问

白嫖免费二级域名

兄弟们,我在微信发现一个可以免费领二级域名的小程序,他们需要审核(超级简单)通过就能领取了。我搞了好几天才找到白嫖二级域名的地方,白嫖完后记得来点赞。嘻嘻

继续访问

英国只能设置A记录且无法更改的免费二级域名

IPQ.Co是英国哈德斯菲尔德的约翰·利奇于2010年10月为降低DNS管理的门槛而推出的一项服务,允许将子域映射到IP地址,因此它在某种程度上是动态DNS。

继续访问

继续分享:免费二级域名转发,大家可以为自己的Blog做个映射:D

首先声明:1,这不是广告,提供此服务的网站和我没有任何关系;2,由于是免费的二级域名转发,在转发后的页面下方有广告条,但属于比较老实的广告条;3,先到先得。同时免费的午餐可能意味着将来可能不可用,自己权衡;4,转发的二级域名,如果使用中文标题,显示会是乱码;5,使用邮箱注册,注册后会发送激活信息到邮箱,一个邮箱只能注册一次;6,域名转发到园子,IE无法正常显示页面,Opera和FireFox正常:...

继续访问

免费主机,免费二级域名分发,免费建临时网站,免费扒网

给大家分享一点,没钱,没钱,没钱,新手喜欢的东西! 废话不多,安排! 免费主机 网址:彩虹云主机(免备案) 在这里可以填久一点,最好就90年,又不需要钱,我们不要浪费! 主机准备好了,上免费域名! 建临时网站 1. 下载http服务器hfs.exe,这个是一个可执行文件,不需要安装,而且文件很小。 下载地址: http://www.rejetto.com/hfs/?f=dl 2.双击打开软件 3. 准备好一个记事本可以打开的文件(html或者txt等等都可以), 然后把这个文件拖入到上图中蓝色

继续访问

自建dns代理服务器,自建DNS服务器使用二级域名转发内网服务器(示例代码)

1.1,安装DNS服务[[emailprotected] ~]# yum install bind bind-bind-libs1.2,修改/etc/named.conf配置文件[[emailprotected] ~]#vim/etc/named.conf//// named.conf//// Provided by Red Hat bind package to configure the...

继续访问

gw.to免费二级域名注册,可解析支持完整的 DNS 服务

免费gw.to子域注册,支持完整的 DNS 解析,完全免费没有广告!可以免费注册最多 5 个域名,使用上面的搜索框查找免费域名注册。现在,提供最佳的免费域名注册动态 dns 服务,包括完整的 MX、CNAME、A、SOA、TXT 和 AAAA 记录。 不仅支持英文,还支持带有汉字,Emoji表情,符号的子域名。????、????、????、????。格式如下: freeaday.gw.to 免费资源网.gw.to 注册简单,只需邮箱即可注册,每个账号最多注册5个域名。 gw.to免费二级域名注册,可

继续访问

热门推荐 久久管家-在线云储存综合管家

名称:久久管家-在线云储存综合管家 版本:1.0 软件大小:7.1MB 软件语言:中文简体 软件授权:免费版 应用平台:Win7/WinVista/Win2003/WinXP/Win2000 久久管家是一款提供在线云储存功能的综合管家,由久久宝盒、久久云、久久相册、久久冲印组成。提供端到端的照片/视频备份服务:智能备份、永久存储、人脸识别、照片冲印、照片分享。放置在家中的久久宝...

继续访问

白嫖免费域名+免费服务器

点击蓝字关注我们免费注册地址https://byet.host/不要翻墙是真的免费吗?byethost.com是一个老牌的免费空间商,从2006年起就开始提供免费空间了,其免费服务非常稳...

继续访问

可以转发的自定义短域名

写评论

评论

收藏

点赞

分享


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/295734.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-25
下一篇2023-04-25

发表评论

登录后才能评论

评论列表(0条)

    保存