​1、URI、URL、URN关系图

HTTP系列(一)URI、URL、URN的区别-LMLPHP

1)URI Uniform Resource Identifier 统一资源标识符

每个web服务器资源都有一个名字,服务器资源名被统称为统一资源标识符;URI就像Internet的邮政地址,唯一地标识和定位世界各地的信息资源。URI有两种形式,分别为URL和URN。

ftp://ftp.is.co.za/rfc/rfc1808.txt
http://www.ietf.org/rfc/rfc2396.txt
ldap://[2001:db8::7]/c=GB?objectClass?one
mailto:[email protected]
news:comp.infosystems.www.servers.unix
tel:+1-816-555-1212
telnet://192.0.2.16:80/
urn:oasis:names:specification:docbook:dtd:xml:4.1.2

 2)URL Uniform Resource Locator 统一资源定位符

URL是最常见的资源标识符,URL描述了一台特定服务器上某资源的特定位置。它们可以明确说明如何从一个精准、固定的位置获取资源。

https://developer.mozilla.org
https://developer.mozilla.org/en-US/docs/Learn/
https://developer.mozilla.org/en-US/search?q=URL
https://tools.ietf.org/html/rfc2396#section-3.1

3)URN Uniform Resource Name 统一资源名称

URI的第二种形式是统一资源名。URN是作为特定内容的唯一名称使用的,与目前的资源所在地无关。如图书的编号(ISBN)urn:isbn:0451450523。

什么是ISBN?

HTTP系列(一)URI、URL、URN的区别-LMLPHP

要理解这三者的区别,不要URI与URL和URN放在同一个等级。

 

URL一定是URI,但URI不一定是URL,URI还包括URN。

 

URL通过描述资源的位置来标识资源,而URN是通过名字来标识资源的,与位置无关。

2、URL的格式

HTTP系列(一)URI、URL、URN的区别-LMLPHP

1)Protocol
访问资源所使用的协议类型,常用的协议类型有
 
2)Domain
请求的域名,表明正在请求的服务器,也可直接使用IP。
 
3)Port
指定服务器连接的网络端口号,此项是可选项,若省略则自动使用默认端口号。
 
4)Path
指定服务器上的文件路径来定位特指的资源
 
5)Fregment
使用片段标识符通常可标记出已获取资源中的子资源(文档中的某个位置)
 
6)Quering String
针对已指定的文件路径内的资源,可以使用查询字符串传入任意参数。

3、交流学习

欢迎大家关注我的公众号,一起交流、学习。

HTTP系列(一)URI、URL、URN的区别-LMLPHP

12-06 05:50