统一资源定位符(Uniform Resource Locator,缩写为URL)是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。
基本URL包含模式(或称协议)、服务器名称(或IP地址)、路径和文件名,如“协议://授权/路径?查询”。
完整的、带有授权部分的普通统一资源标志符语法如下:协议://用户名:密码@子域名.域名.顶级域名:端口号/目录/文件名.文件后缀?参数=值#标志。
URL的一般语法格式为:(带方括号[]的为可选项):
protocol://hostname[:port]/path/[;parameters][?query]#fragment
protocol(协议):
- file:本地计算机上的文件。格式 file://
- telnet:通过Telnet访问资源。格式 Telnet://
- ftp:通过FTP访问资源。格式 FTP://
- http:通过HTTP 访问该资源。 格式 HTTP://
- https:通过安全的 HTTPS 访问该资源。 格式 HTTPS://
- news:通过 NNTP 访问该资源。
- mailto:资源为电子邮件地址,通过 SMTP 访问。 格式 mailto:
- gopher:通过 Gopher 协议访问该资源。
- MMS:通过 支持MMS(流媒体)协议的播放该资源。(代表软件:Windows Media Player)格式 MMS://
- ed2k:通过 支持ed2k(专用下载链接)协议的P2P软件访问该资源。(代表软件:电驴) 格式 ed2k://
- Flashget:通过 支持Flashget:(专用下载链接)协议的P2P软件访问该资源。(代表软件:快车) 格式 Flashget://
- thunder:通过 支持thunder(专用下载链接)协议的P2P软件访问该资源。(代表软件:迅雷)格式 thunder://
hostname(主机名):
是指存放资源的服务器的域名系统(DNS) 主机名或 IP 地址。有时,在主机名前也可以包含连接到服务器所需的用户名和密码(格式:username@password)。port(端口号)
整数,可选,省略时使用方案的默认端口,各种传输协议都有默认的端口号,如http的默认端口为80。如果输入时省略,则使用默认端口号。有时候出于安全或其他考虑,可以在服务器上对端口进行重定义,即采用非标准端口号,此时,URL中就不能省略端口号这一项。path(路径):
由零或多个“/”符号隔开的字符串,一般用来表示主机上的一个目录或文件地址。parameters(参数):
这是用于指定特殊参数的可选项。query(查询):
可选,用于给动态网页(如使用CGI、ISAPI、PHP/JSP/ASP/ASP。NET等技术制作的网页)传递参数,可有多个参数,用“&”符号隔开,每个参数的名和值用“=”符号隔开。fragment(信息片断):
字符串,用于指定网络资源中的片断。例如一个网页中有多个名词解释,可使用fragment直接定位到某一名词解释。绝对URL(absolute URL)显示文件的完整路径,这意味着绝对URL本身所在的位置与被引用的实际文件的位置无关。
相对URL(relativeURL)以包含URL本身的文件夹的位置为参考点,描述目标文件夹的位置。如果目标文件与当前页面(也就是包含URL的页面)在同一个目录,那么这个文件的相对URL仅仅是文件名和扩展名,如果目标文件在当前目录的子目录中,那么它的相对URL是子目录名,后面是斜杠,然后是目标文件的文件名和扩展名。如果要引用文件层次结构中更高层目录中的文件,那么使用两个句点和一条斜杠。可以组合和重复使用两个句点和一条斜杠,从而引用当前文件所在的硬盘上的任何文件,一般来说,对于同一服务器上的文件,应该总是使用相对URL,它们更容易输入,而且在将页面从本地系统转移到服务器上时更方便,只要每个文件的相对位置保持不变,链接就仍然是有效地
有时候,URL以斜杠“/”结尾,而没有给出文件名,在这种情况下,URL引用路径中最后一个目录中的默认文件(通常对应于主页),这个文件常常被称为 index.html 或 default.htm。
注意,Windows 主机不区分 URL 大小写,但是,Unix/Linux 主机区分大小写。