您的位置:首页 > 其它

URI、URL和URN

2008-03-27 20:50 218 查看
URI统一资源标识符,包含:URL--统一资源标定位符 和 URN--统一资源标名

URI统一资源标识符,它是以某种统一的(标准化的)方式标识资源的简单字符串,纯粹是个符号结构。典型情况下,这种字符串以scheme :开头,语法如下:

[scheme:] scheme-specific-part [#fragment]

1、根据scheme :的不同,URI可以分为绝对的和相对的。

1)绝对的URI指以scheme :开头的URI, 如:

http://www.cnn.com URL

ftp://www.cnn.com URL

mailto:jeff@javajeff.com URN

news:comp.lang.java.help URN

xyz://whatever URN

2)相对的URI不是以scheme :开始的URI。如:

articles/articles.html

2、 根据scheme-specific-part是否以正斜杠(/)开头,URI可以进一步分为不透明的和分层的两类。

1)不透明的URI指scheme-specific-part不是以正斜杠(/)开头的绝对URI。

如:news:comp.lang.java mailto:jeff@javajeff.com

不透明的URI不用于分解(超出了识别scheme的范畴),因为不需要验证scheme-specific-part的有效性。

2)分层的URI是以正斜杠开头的绝对URI或相对的URL,与不透明的URI不同,分层的URI的scheme-specific-part必须被分解为几个组成部分,scheme-specific-part需符合下面的语法:

  [//authority] [path] [?query] [#fragment]

为了实际表现前面提到的组件信息,可以使用下面的URI:

ftp://george@x.com:90/public/notes?text=shakespeare#hamlet

 ftp识别为大纲

george@x.com:90识别为基于服务器的授权机构(其中george是用户信息,x.com是主机,90是端口)

/public/notes识别为路径

text=shakespeare识别为查询

hamlet识别为片断

本质上它是一个叫做george的用户希望通过/public/notes路径在服务器x.com的90端口上检索shakespeare文本的hamlet信息。在shakespeare成功的返回到该程序后,程序定位hamlet段并把它呈献给该用户。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: