URL,uniform resource locator,经常被称为网址,尤其是在使用HTTP的时候。通常是一个指向某个资源的字符串。

 
URLs经常被用于网页(http),但也可以用于文件传输(ftp),email(mailto)等等。
 

语法

scheme://domain:port/path?query_string#fragment_id
 
   scheme name:
    通常被认为是某种协议,定义了资源被如何获得。比如http,https,ftp,file等。大小写不敏感,但是经常以小写形式出现。
 
    host:
    通常以域名(domain name)或者IP地址提供。当以IPv6形式提供时,需用[]括起。例如,[db8:0cec::99:123a]。使用域名大小写不敏感,因为DNS大小写不敏感。http://www.baidu.com 和HTTP://WWW.BAIDU.COM  表示同一个网址。 
 
    port number:
    可选项。如果忽略,协议的默认端口将被使用。
 
    path:
    path被用来指定请求资源的位置。大小写敏感,因为在一个系统中,目录是大小写敏感的。
 
    query string:
    传递给web server中运行的程序(比如CGIs)。可以包含以符号'&'分隔的键值对,比如:
    ?first_name=John&last_name=Doe
 
    fragment identifier:
    指定资源或者文档中的位置。特别是在HTML中,使用锚标记来定位页面中的某个位置。比如一个页面中的章节名。
 

short URL短网址

短网址是一种使URL变短而仍指向原来的页面的技术。可以基于HTTP重定向技术来实现。
 
在新浪微博或者微信中可以发现大量的短网址,比如http://t.cn/R2X9KVS  ,又或者http://b0m.l.mob.com/ZS1kR,主要是因为像微博这种平台的字数限制以及在移动端浏览的时候能够更加美观。
 
百度http://dwz.cn/及新浪http://sina.lt/ 提供短网址生成还原服务。
 

短网址技术细则

每个长网址都关联一个唯一的key(unique key),比如上面的网址http://t.cn/R2X9KVS 中的key就是R2X9KVS。发给浏览器的重定向指令HTTP 头部的状态码可以是301,302或者307。
 
key可以基于base 36(即36进制)生成(26个字母+10个数字),在这种情况下,在生成序列中的每个字符将会是0,1,2,..,9,a,b,c..y,z.如果考虑大小写,可以考虑base 62(即62进制)(26+26+10)。使用hash 函数或者随机生成数来产生key,这样生成的key将会变得不可预测。
 

参考资料:

Wikipedia

URL及short URL短网址的更多相关文章

  1. PHP调用百度api生成短网址&根据短网址恢复长网址

    接口api文档地址:http://dwz.cn/#/apidoc?_k=i9ev5p 代码demo header("Content-type: text/html; charset=utf- ...

  2. 短网址(short URL)系统的原理及其实现

    短网址(short URL)系统的原理及其实现 https://hufangyun.com/2017/short-url/?hmsr=toutiao.io&utm_medium=toutiao ...

  3. short URL 短网址实现原理剖析

    short URL 短网址实现原理剖析 意义,简短便于分享,避免出现超长 URL 的字符长度限制问题 原理分析, 使用 HashMap 存储对应的映射关系 (长度不超过7的字符串,由大小写字母加数字共 ...

  4. 用PHP实现URL转换短网址的算法示例

    短网址就是把一个长的地址转换在超级短的网址,然后访问短网址即可跳转到长网址了,下面来看用PHP实现URL转换短网址的算法与例子. 短网址(Short URL) ,顾名思义就是在形式上比较短的网址.在W ...

  5. C#如何实现url短地址?C#短网址压缩算法与短网址原理入门

    c# url短地址压缩算法与短网址原理的例子,详细介绍了短网址的映射算法,将长网址md5生成32位签名串,分为4段,每段8个字节,然后生成短网址,具体见文本实例. 短网址映射算法: 将长网址md5生成 ...

  6. 【转】C# URL短地址压缩算法及短网址原理解析

    这篇文章主要介绍了C# URL短地址压缩算法及短网址原理解析,本文重点给出了算法代码,需要的朋友可以参考下 短网址应用已经在全国各大微博上开始流行了起来.例如QQ微博的url.cn,新郎的sinaur ...

  7. URL短网址生成算法原理和php实现案例

    短网址(Short URL),顾名思义就是在形式上比较短的网址. 短链接的好处:1.内容需要:2.用户友好:3.便于管理为什么要这样做的,原因我想有这样几点:微博限制字数为140字一条,那么如果我们需 ...

  8. 如何做系列(4)-微博URL短网址生成算法原理(java版、php版实现实例)

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

  9. URL短网址系统的算法设计及实践

    在通常情况下,URL是由系统生成的,通常包括URI路径,多个查询参数,可以对参数进行加密和解密.当人们要分享某个URL,比如短信,邮件,社交媒体,这就需要短URL. 而短网址,顾名思义就是在长度上比较 ...

随机推荐

  1. WWT在中国:一个改变了人类探索宇宙方式的少年梦想

    想象一下,在宇宙中超光速飞行,访问行星.星云.恒星和小行星将是多么美妙的体验.现在,中国的孩子们已经可以坐在屋子里,仰望穹顶,去探索星球之间无穷的奥秘. 在微软研究院.微软亚洲研究院及中国科学院国家天 ...

  2. 3dmax2013卸载/安装失败/如何彻底卸载清除干净3dmax2013注册表和文件的方法

    3dmax2013提示安装未完成,某些产品无法安装该怎样解决呢?一些朋友在win7或者win10系统下安装3dmax2013失败提示3dmax2013安装未完成,某些产品无法安装,也有时候想重新安装3 ...

  3. 数字签名和数字证书等openssl加密基本术语

    openssl 算法基础 1.1 对称算法 : 密钥相同,加密解密使用同一密钥 1.2 摘要算法:无论用户输入的数据什么长度,输出的都是固定长度的密文:即信息摘要,可用于判断数据的完整性:目前常用的有 ...

  4. 转:Zabbix 监控sqlserver

    一:Zabbix监控sqlserver 方法一: 1.思路整理 1.在zabbix server上安装Freetds.unixODBC.unixODBC-devel使其能够访问SQL Server数据 ...

  5. win10安装3DMAX失败,怎么强力卸载删除注册表并重新安装

    一些搞设计的朋友在win10系统下安装3DMAX失败或提示已安装,也有时候想重新安装3DMAX的时候会出现本电脑windows系统已安装3DMAX,你要是不留意直接安装3DMAX,只会安装3DMAX的 ...

  6. iOS(Swift)学习笔记之SwiftyJSON的使用

    本文为原创文章,转载请标明出处 1. 通过CocoaPods安装SwiftyJSON platform :ios, '10.0' target '<Your Target Name>' d ...

  7. unittest(23)- python发邮件

    import smtplib import time from email.mime.multipart import MIMEMultipart from email.mime.text impor ...

  8. Spring 错误 cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'context:property-placeholder'.

    我来说下这个出错的原因吧 eclise中xsd的验证问题Description Resource Path Location Type cvc-complex-type.2.4.c: The matc ...

  9. Jmeter运行不显示cmd对话框

    1.Jmeter运行不显示cmd对话框 如图所示,在Jmeter的bin目录下新建一个vbs的脚本,脚本内容为: Dim wsh Set wsh=WScript.CreateObject(" ...

  10. 安装Redis内存分析工具rdbtools

    一.安装Python2.7 1. wget http://10.12.29.98:8090/tools/Python-2.7.11.tgz 2. ln -s /usr/local/python2.7/ ...