URL与URI的区别和联系

  最近学习JavaWeb时发现URL与URI这两个缩写,于是感到很困惑,不知道这两个名字很像的缩写表示什么含义,于是我上网搜了一下,总结如下:

一、关于URL

  1) URL定义:

  在WWW上,每一信息资源都有统一的且在网上唯一的地址,该地址就叫URLUniform Resource Locator,统一资源定位符),它是WWW的统一资源定位标志,就是指网络地址

  简单来说就是你打开一个浏览器,地址栏上显示的网址,例如:

  

  2) URL格式:

  URL由三部分组成:资源类型、存放资源的主机域名、资源文件名,也可认为由4部分组成:协议、主机、端口、路径。
  URL的一般语法格式为:(带方括号[]的为可选项):
  protocol :// hostname[:port] / path / [;parameters][?query]#fragment
  例如http://www.baidu.com:80/

  a)protocol(协议)

  指定使用的传输协议,下表列出 protocol 属性的有效方案名称。 最常用的是http协议,它也是目前WWW中应用最广的协议。常见协议如下:
  file 资源是本地计算机上的文件。格式file:///,注意后边应是三个斜杠。
  ftp 通过 FTP访问资源。格式 FTP://
  gopher 通过 Gopher 协议访问该资源。
  http 通过 HTTP 访问该资源。 格式 HTTP://
  https 通过安全的 HTTPS 访问该资源。 格式 HTTPS://
  mailto 资源为电子邮件地址,通过 SMTP 访问。 格式 mailto:
  MMS 通过 支持MMS(流媒体)协议的播放该资源。(代表软件:Windows Media Player)格式 MMS://
  ed2k 通过 支持ed2k(专用下载链接)协议的P2P软件访问该资源。(代表软件:电驴) 格式 ed2k://
  Flashget 通过 支持Flashget:(专用下载链接)协议的P2P软件访问该资源。(代表软件:快车) 格式 Flashget://
  thunder 通过 支持thunder(专用下载链接)协议的P2P软件访问该资源。(代表软件:迅雷) 格式 thunder://
  news 通过 NNTP 访问该资源。

  b)hostname(主机名)

  是指存放资源的服务器的域名系统(DNS) 主机名或 IP 地址。有时,在主机名前也可以包含连接到服务器所需的用户名和密码(格式:username:password@hostname)

  c)port(端口号)

  整数,可选,省略时使用方案的默认端口,各种传输协议都有默认的端口号,如http的默认端口为80。如果输入时省略,则使用默认端口号。有时候出于安全或其他考虑,可以在服务器上对端口进行重定义,即采用非标准端口号,此时,URL中就不能省略端口号这一项。

  d)path(路径)

  由零或多个“/”符号隔开的字符串,一般用来表示主机上的一个目录或文件地址。

  e)parameters(参数)

  这是用于指定特殊参数的可选项。

  f)query(查询)

  可选,用于给动态网页(如使用CGI、ISAPI、PHP/JSP/ASP/ASP。NET等技术制作的网页)传递参数,可有多个参数,用“&”符号隔开,每个参数的名和值用“=”符号隔开

  g)fragment(信息片断)

  字符串,用于指定网络资源中的片断。例如一个网页中有多个名词解释,可使用fragment直接定位到某一名词解释。

二、关于URI

  1)URI定义

  在电脑术语中,统一资源标识符(Uniform Resource Identifier,URI)是一个用于标识某一互联网资源名称的字符串。 该种标识允许用户对任何(包括本地和互联网)的资源通过特定的协议进行交互操作。URI由包括确定语法和相关协议的方案所定义。  

  2)URI格式

  URI格式由URI协议名(例如HTTP、FTP、mailto、file),一个冒号,和协议对应的内容所构成。特定的协议定义了协议内容的语法和语义,而所有的协议都必须遵循一定的URI文法通用规则,亦即为某些专门目的保留部分特殊字符。URI文法同时也就各种原因对协议内容加以其他的限制,例如,保证各种分层协议之间的协同性。百分号编码也为URI提供附加信息。
  URL的格式由下列三部分组成:,第一部分是协议(或称为服务方式);第二部分是存有该资源的主机IP地址(有时也包括端口号);第三部分是主机资源的具体地址。
  具体URI的格式如下:
  [协议名]://[用户名]:[密码]@[服务器地址]:[服务器端口号]/[路径]?[查询字符串]#[片段ID]

三、二者的区别和联系

  URL是一种URI,它标识一个互联网资源,并指定对其进行操作或获取该资源的方法。可能通过对主要访问手段的描述,也可能通过网络“位置”进行标识。URI可被视为定位符(URL),名称(URN)或两者兼备。统一资源名(URN)如同一个人的名称,而统一资源定位符(URL)代表一个人的住址。换言之,URN定义某事物的身份,而URL提供查找该事物的方法。URN仅用于命名,而不指定地址。
posted @ 2019-11-07 13:51  风和日暖  阅读(15892)  评论(0编辑  收藏  举报