HTTP协议之URL语法

URL提供了一种对任意的一种互联网资源定位的手段。但是这些资源是可以通过不同的方案来(比如,HTTP,FTP,SMTP)进行访问的,因此URL的语法会随着方案的不同而不同。

实际上,大部分的URL都遵循通用的URL,而且不少的URL方案的风格和语法都有不少的重叠。

大部分的URL方案的URL语法都建立在这个由9个部分构成的通用格式上:

1
<scheme>://<user>:<password>@<host>:<port>/<path>;<params>?<query>#<frag>

URL最主要的三个部分是方案(scheme)、主机(host)和路径(path)。

组件 描述 默认值
方案 访问服务器以获取资源时要使用哪种协议
用户 某些方案访问资源时需要用户名 匿名
密码 用户名后面可能要包含的密码,中间由冒号(:)分割 <E-mail地址>
主机 资源宿主服务器的主机名或点分IP地址
端口 资源宿主服务器正在监听的端口号。很多方案都有默认端口号(HTTP默认端口号为80) 每个方案特有
路径 服务器资源的本地名,由一个斜杠(/)将其与前面的URL组件分隔开来,路径组件的语法是与服务器和方案有关的
参数 某些方案会有这个组件来指定输入参数。参数名为名/值对。URL中可以包含多个参数字段,它们相互之间以及与路径的其余部分之间用分号(;)分隔
查询 某些方案会用这个组件传递参数以激活应用程序(比如数据库、公告板、搜索引擎以及互联网网关)。查询组件的内容没有通用格式。用字符“?”将其与URL的其余部分分割开来。
片段 一小片或一部分资源的名称。引用对象时,不会讲frag字段传入服务器hegel字段是在客户端内部使用的。通过字符“#”来将其与URL的其余部分分割开来。