初识URL和URI

初识URL和URI

URI

URI,uniform resource identifier,统一资源标识符,用来唯一地标识一个资源。格式为[scheme:]scheme-specific-part[#fragment]

  • [scheme:]组件:URI的名称空间标识。(大概是一种协议吧,不是很理解...)
  • scheme-specific-part组件:用于标识资源,内部格式由具体的scheme来决定。
  • [#fragment]组件:井号(#)作为fragment组件的起始字符,而fragment组件则用于聚焦到资源的某个部分。

scheme-specific-part组件

分层URI语法中scheme-specific-part组件的格式为:[//authority][path][?query]

  • [//authority]:表示授权机构组件,以一对正斜杠(//)起始,可以基于主机(server-based)或注册(registry-based)(而基于注册相对基于主机的数目较少),并以正斜杠、问号或无后续字符作为authority组件的结束。而authority组件的具体格式为 [userinfo@]host[:port]。
    • [userinfo@]:用户账号。
    • host:主机IP或域名。
    • [:port]:通信端口号,若省略则使用相应的scheme组件的默认端口号。
      (例如:http://[email protected]:80/)
  • [path]:path组件表示根据authority组件识别资源的位置。path组件有一系列的路径片段(path segment)构成,路径片段间以正斜杠(/)作为分隔符。若第一个路径片段以正斜杠(/)起始则为绝对路径,否则称为相对路径。
  • [?query]:query组件用于识别要传递给资源的数据,用于影响资源的响应的行为。

URL

URL,uniform resource locator,统一资源定位器,它是一种具体的URI,即URL可以用来标识一个资源,而且还指明了如何locate(定位)这个资源。它是一个识别Internet中哪里有信息资源,并且将 Internet提供的服务统一编址的系统。通过URL可以到达任何一个地方寻找需要的东西,比如文件、数据库、图像、新闻组等等,可以这样说,URL是 Internet上的地址簿。其URL地址格式排列为:scheme://host:Port/path。

  • scheme:Internet资源类型,指出客户程序用来操作的工具。如“http://”表示WWW服务器,“ftp://”表示FTP服务器,“gopher://”表示Gopher服务器,而“new:”表示Newgroup新闻组。
  • host:服务器地址,指出网页所在的服务器域名或ip。
  • Port:端口,对某些资源的访问来说,需给出相应的服务器提供端口号(并非必须)。
  • path:路径,指明服务器上某资源的位置(其格式与DOS系统中的格式一样,通常有目录/子目录/文件名这样结构组成)。与端口一样,路径并非总是需要的。

例如http://www.juese.com/PUREdesert/magazine/puredesert_magazine.htm就是一个典型的URL地址。

通信端口号(port number),是连接时所使用的通信端口号。端口是Internet用来辨别特定信息服务用的一种软件标识,其设置范围是0到65535之间的整数,一般情况下使用的是标准端口号,可以不用写出。在需要特殊服务时会用到非标准端口号,这时就要写出,如http://www.tsinghua.edu.cn:81。常见的Internet提供服务的端口号,如HTTP的标准端口号为80,TELNET的标准端口号为23,FTP的标准端口号为21等等。

总结

URI是以一种抽象的,高层次概念定义统一资源标识,而URL则是具体的资源标识的方式。URL也是一种URI。URI是一个相对来说更广泛的概念,URL是URI的一种,是URI命名机制的一个子集,可以说URI是抽象的,而具体要使用URL来定位资源。URL是internet上用来描述信息资源文件的字符串,用在客户程序和服务器上,定位客户端连接服务器所需要的信息,它不仅定位了这个信息资源,而且定义了如何找到这个资源。(相对URI和绝对URI不是很理解)

参考文献

文献1
文献2
文献3
文献4

你可能感兴趣的:(初识URL和URI)