美文网首页
短链接服务搭建

短链接服务搭建

作者: 儒呆子 | 来源:发表于2020-11-02 09:20 被阅读0次

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

01、背景

长链接问题:

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

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

反例:

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

02、原理

交互流程:

        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、防机器人脚本访问,结合白名单等机制;

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

03、使用方法

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

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

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

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

04、应用场景

介绍如何应用场景:

1、朋友圈消息:

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

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

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

3、短信营销

优点:

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

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

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

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

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

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

05、延展

关联技术的延展介绍

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

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

        资源管理,比如说文章;

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

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

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

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

相关文章

  • 短链接服务搭建

    关键词:长链接;短链接;重定向; 01、背景 长链接问题: 复制容易出错,长链接URL较长,有时参数不止一个,复制...

  • 短链接API

    自己搭建了个短链接服务器。供大家免费使用!可以直接生成短链接,也可以通过API获取短链接网站地址:t.r1s.cn

  • 使用YOURLS搭建自己的短链接服务

    [开源工具] [短连接服务] 前言 在应用的开发过程中,尽管做了较好地设计,但是随着业务的发展,会发现页面路由的长...

  • 如何快速搭建一个短链接服务?

    摘要: 很简单的短链接教程。 原文:十分钟实现短链接服务(Node + Express + MongoDB) 作者...

  • Go短链接服务分析

    概览 应用场景 微信文章分享,访问1次后失效 文章分享,需要密码访问 以二维码访问分享链接 访问城市,设备统计 分...

  • 网络编程基础2

    网络编程基础 我们今天接触网络,首先教你怎么搭建服务器和学习一些vim的命令可以参考这个链接 链接:搭建服务器 链...

  • 高性能系统设计:互联网短链接服务

    什么是短链接服务 短链接服务将原本较长的网址转化成较短的网址,从而便于用户的记忆与社交软件上的传播。 假设,我们要...

  • 短链接服务系统开发

    最近上了一个比较大的系统,基于消息推送的需要,花了点时间做了一个短链服务,实现思路其实很简单,这里简单介绍下实现细...

  • 模块化之私有服务器管理基础框架

    0.搭建git本地私有服务器 Git服务器搭建全过程分步详解 1.链接git仓库 2.在本地链接一个文件夹 将项目...

  • Windows下搭建单个svn server服务端仓库

    服务端搭建svn 下载链接:https://www.visualsvn.com/server/download/ ...

网友评论

      本文标题:短链接服务搭建

      本文链接:https://www.haomeiwen.com/subject/xzdsvktx.html