短链接服务搭建

短链接服务搭建,第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、 如果教你设计一个 短 链接 系统,你会从那些方面来提高性能呢?

ipad接受短信提示连接服务器出问题的解决方法如下:

1、首先打开ipad手机设置,点击蜂窝移动网络接入到里面。

2、然后检查一下蜂窝移动网络中【设置】流量数据是否关闭所导致的,如果关闭的掉,那么请将勾选WLAN与蜂窝移动网勾选开启。

3、或者是打开设置无线局域网,点击【使用WLAN与蜂窝移动网的应用】进入页面,同样查看一下【设置】数据是否关闭,把无线局域网中设置数据开启,一般便可解决ipad的icloud连接到服务器时出现错误问题。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

    保存