Comsteed | 航纶

        天行健,君子以自强不息;地势坤,君子以厚德载物.

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

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段并把它呈献给该用户。
posted on 2008-03-27 20:50  航纶  阅读(328)  评论(0编辑  收藏  举报