龙空技术网

解读短链接/短网址

中国Startup 272

前言:

目前大家对“url特殊字符处理”大概比较看重,看官们都需要剖析一些“url特殊字符处理”的相关文章。那么小编也在网络上汇集了一些对于“url特殊字符处理””的相关内容,希望姐妹们能喜欢,你们快快来了解一下吧!

虽说处于移动互联网,大家习惯了微信公众号、微信小程序 、或是APP,很多人已经淡忘了域名及其扩展出来的网站/URL的意义,但作者认为以浏览器为主要展示形式的传统互联网仍将在很长时期内共存并发展。

传统互联网以浏览器为展示工具,域名和URL是传播的主要形式,是品牌的重要承载体,高价的域名交易价格就是很好的佐证。信息化时代,数据量爆炸式的增长,URL也随之越来越长,导致的直接结果是占用空间,友好性较差。至此,短链接/短网址(以下统称短链接)的技术出来,最为典型的应用是微博,因为微博的“微”,对内容有字数限制,较长的URL直接压缩的主体内容,同样在手机短信中也存在这样的问题。

短链接的核心技术主要有以下几部分组成:

1、选用短域名,诚然短的域名尤其是.com, .net的价格已经高出一般人和企业的承受能力。建议大家选择一些较为偏的域名,如作者买的xfu.biz这个域名长7,一年的费用也就百元不到,还是挺经济的。
2、64位编码与短域名组合成短链接如 编码, 例如 头条的“头条之星校园计划的页面URL: 共有77个字符,经压缩后变成 只有20 个字符。可以说是大节省的空间。

64位编码,选择0-9, a-z, A-Z总共62个字符,再选择两个符号字符:- ~,组成64位编码字符串,在实现使用中,这64个字符建议自由打散使用。两个符号字符选择时,一定避开URL特殊字符如:

1、空格换成加号(+)
2、正斜杠(/)分隔目录和子目录
3、问号(?)分隔URL和查询
4、百分号(%)制定特殊字符
5、#号指定书签
6、&号分隔参数

这些符号字符都是不能使用的

通常的流程,

生成:由前端提交原始链接,API接收后顺序生成64位编码与原始链接一一对存储在数据库中。

访问:由web服务器如apache,nginx 截取短链接中的64编码部分,url rewrite 作为参数传给API,API据此找到数据库中保存的原始URL,并返回给浏览器,由浏览器完成页面跳转。

这里特别说明一下,URL是大小写敏感的,作者使用mysql数据库,开始使用COLLATE=utf8mb4_unicode_ci,导致数据库检索时忽略了大小写,给用户造成数据篡改的错觉。

最后,作者也总结短链接的几点优点,供大家讨论。

易于阅读,看起来整洁干净,提高用户体验和点击率,利于复制粘贴减少url占用空间便于链接追踪保护网站链接有利于SEO利于品牌信息的传递

API 代码,请查看

WEB,请查看

标签: #url特殊字符处理