uri详解

uri(Uniform Resource Identifier)统一资源标识符

1.定义位置:RFC 2396: Uniform Resource Identifiers (URI):Generic Syntax

   修正位置:RFC 2732:Format for Literal IPv6 Addresses in URLs

 

2.语法:[scheme:]scheme-specific-part[#fragment]

   [...] 用于描述可选组成部分,字符 :# 代表它们自身

 

3.分类

 

   3.1相对uri和绝对uri

   依据是否有schema部分来判断,绝对URI 指定了方案(scheme),非绝对的 URI 称为相对 URI.

 

   3.2不透明uri

   不透明URI肯定是绝对uri, scheme-specific-part部分无法进行进一步的分解和解析,不是以斜

    线字符 ('/') 开始,比如

    mailto:[email protected]

  news:comp.lang.java 

    urn:isbn:096139210x

 

  3.3分层uri

 

          3.3.1语法[scheme:][//authority][path][?query][#fragment]

      [...] 用于描述可选组成部分,字符:/?# 代表它们自身

 

          3.3.2相对URI和绝对URI      

      如果分层 URI 的路径组成部分以斜线字符 ('/') 开始,则此URI

      为绝对URI,否则为相对URI  

    

      3.3.3基于服务器的授权和基于注册表的授权

      分层URI的授权组成部分[//authority]可以为基于服务器的或者基于注册表的.

      基于服务器的授权语法为[user-info@]host[:port],不是采用这种语法的都

      是基于注册表的。

4.组成部分

  分为方案[schema:],特定于方案的部分scheme-specific-part,片段 [fragment]

   授权[//authority],用户信息[user-info@],主机host,端口[:port],路径[path]

  查询[?query]这九个部分,比如这个URI中

  http://[email protected]:80/test/test.html?id=12345#28

   方案部分为http:

   特定于方案的部分为//[email protected]:80/test/test.html?id=12345

  片段部分为#28

  授权部分为[email protected]:80

  用户信息部分为test@

  主机部分为www.test.com

  端口部分为:80

  路径部分为/test/test.html

  查询部分为?id=12345

 

      

      

 

 

你可能感兴趣的:(html,.net,Scheme,sun)