URI与URL的定义:
URI(Uniform Resource Identifier) − 对任何抽象或物理资源进行完整标识的字符序列。
URL(UniformResource Locator) − 除了标识资源可用的位置之外,URI的一个子集描述了访问该资源的主要机制。
URI与URL的语法格式:
URI(无论是否为URL)都遵守以下语法格式:
scheme : [//authority] [/path] [?query] [#fragment]
每部分描述如下:
scheme − 对于 URL, 是访问资源的协议名称;对其他URI,是分配标识符的规范的名称
authority − 可选的组成用户授权信息部分,主机及端口(可选)
path − 用于在scheme和authority内标识资源
query − 与路径一起的附加数据用于标识资源。对于url是查询字符串
fragment − 资源特定部分的可选标识符
authority − 可选的组成用户授权信息部分,主机及端口(可选)
path − 用于在scheme和authority内标识资源
query − 与路径一起的附加数据用于标识资源。对于url是查询字符串
fragment − 资源特定部分的可选标识符
URL的一般语法([]中的为可选项):
protocol :// hostname[:port] / path / [;parameters][?query]#fragment
protocol(协议) - 指定使用的传输协议,下表列出 protocol 属性的有效方案名称。 最常用的是HTTP协议,它也是目前WWW中应用最广的协议。
hostname(主机名)- 是指存放资源的服务器的
域名系统(DNS) 主机名或 IP 地址。有时,在主机名前也可以包含连接到服务器所需的用户名和密码。
port(端口号)- 整数,可选,省略时使用方案的默认端口,各种
传输协议都有默认的端口号,如http的默认端口为80。如果输入时省略,则使用默认端口号。有时候 出于安全或其他考虑,可以在服务器上对端口进行重定义,即采用非标准端口号,此时,URL中就不能省略端口号这一项。
path(路径)- 由零或多个“/”符号隔开的字符串,常用来表示主机上的一个目录或文件地址。
parameters(参数)- 这是用于指定特殊参数的可选项。
query(查询) - 可选,用于给
动态网页(如使用CGI、ISAPI、PHP/JSP/ASP/ASP。NET等技术制作的网页)传递参数,可有多个参数,用“&”符号隔开,每个参数的名和值用“=”符号隔开。
fragment(信息片断)- 字符串,用于指定网络资源中的片断。例如一个网页中有多个名词解释,可使用fragment直接定位到某一名词解释。
区别方法:每个URL都必须从以下scheme开始:ftp、http、https、gopher、mailto、news、nntp、telnet、wais、file或prospero。如果不是以此开头,则不是URL。