我们对URL比较熟悉都知道他是”统一资源定位符“,但是我们却没有去了解什么是URI什么是URN他们三者之间的关系是什么?他们三者之间的区别是什么?通过这篇博客你将理解到三者之间的联系与区别
1.什么是URL?
统一资源定位符(或称统一资源定位器/定位地址、URL地址等[1],英语:Uniform Resource Locator,常缩写为URL),有时也被俗称为网页地址(网址)。如同在网络上的门牌,是因特网上标准的资源的地址(Address)。它最初是由蒂姆·伯纳斯-李发明用来作为万维网的地址。现在它已经被万维网联盟编制为因特网标准 RFC 1738。
URL是URI的一个子集其中URL包含位置和协议统一资源定位符(URL)的完整定义如下:
协议类型:[//[访问资源需要的凭证信息@]服务器地址[:端口号]][/资源层级UNIX文件路径]文件名[?查询][#片段ID]
(1)协议类型:HTTP、HTTPS、FTP、mailto等协议
(2)层级URL标记符号(为[//],固定不变)
(3)访问资源需要的凭证信息(可省略)
(4)服务器(域名或者IP地址)
(5)端口号
(6)路径(以“/”字符区别路径中的每一个目录名称)
(7)查询。(GET模式的窗体参数,以“?”字符为起点,每个参数以“&”隔开,再以“=”分开参数名称与数据,通常以UTF8的URL编码,避开字符冲突的问题)
(8)片段(以“#‘字符为起点)
以链接地址:http://zh.wikipedia.org/w/index.php?title=Special:%E9%9A%8F%E6%9C%BA%E9%A1%B5%E9%9D%A2
http是协议 |
zh.wikipedia.org是服务器 |
/w/index.php是路径 |
?title=Special:%E9%9A%8F%E6%9C%BA%E9%A1%B5%E9%9D%A2是询问 |
大多数网页浏览器不要求用户输入网页中“http://”的部分,因为绝大多数网页内容是超文本传输协议文件。同样,“80”是超文本传输协议文件的常用端口号,因此一般也不必写明
2.什么是URI?
与URL类似,URI(统一资源标识符)也是一串字符,通过使用位置,名称或两者来标识Internet上的资源。它允许统一识别资源。URI另外被分组为定位符,名称或两者,这意味着它可以描述URL,URN或两者。
URN的典型代表就是:用于标识唯一书目的ISBN系统是一个典型的URN使用范例,用于唯一地识别书籍。
3.URL与URI的主要区别
URL(统一资源定位符)主要用于链接网页,网页组件或网页上的程序,借助访问方法(http,ftp,mailto等协议)来检索位置资源。相反,URI(统一资源标识符)用于定义项目的标识,此处单词标识符表示将一个资源与其他资源区分开,而不管使用的方法(URL或URN |
URL是URI,但URI永远不能是URL |
URL指定要使用的协议类型,而URI不涉及协议规范 |
4.URL与URN的关系
URI可被视为定位符(URL),名称(URN)或两者兼备。统一资源名(URN)如同一个人的名称,而统一资源定位符(URL)代表一个人的住址。换言之,URN定义某事物的身份,而URL提供查找该事物的方法,URL包含协议但是URN不包含协议。
5.URL与URI与URN的关系图解