参考资料
- 《HTTP 权威指南》
引言
本篇主要详细介绍 URL 各方面的知识。
一、浏览因特网资源
- URL 是人们对 HTTP 和其他协议的常用访问点:一个人将浏览器指向一个 URL,浏览器就会在幕后发送适当的协议报文来获取人们所期望的资源。比如说,你想获取 URL
http://www.joes-hardware.com/index-fall.html
,那么 URL 分以下三部分:
二、URL 的语法
- 大多数 URL 方案的 URL 语法都建立在这个由 9 部分构成的通用格式上:
<scheme>://<user>:<password>@<host>:<port>/<path>;<params>?<query>#<frag>
通用 URL 组件
2.1 方案
- 方案实际上就是规定如何访问指定资源的主要标识符,它会告诉负责解析 URL 的应用程序应该使用什么协议。方案组件必须以一个字母符号开始,由第一个
:
符号将其与 URL 的其余部分分割开来。
2.2 主机与端口
- 主机组件标识了因特网上能够访问资源的宿主机器。端口组件标识了服务器正在监听的网络端口。
2.3 用户名和密码
- 很多服务器要求输入用户名和密码才会允许用户访问数据。
2.4 路径
- URL 的路径组件说明了资源位于服务器的什么地方。
2.5 参数
- 参数组件向应用程序提供它们所需的输入参数,以便正确地与服务器进行交互。
2.6 查询字符串
- URL 的查询组件和标识网关资源的 URL 路径组件一起被发送给网关资源,通过提问问题或进行查询来缩小所请求资源类型范围。
2.7 片段
- URL 通过使用片段组件来表示一个资源内部的片段。
三、URL 快捷方式
3.1 相对 URL
- 要从相对 URL 中获取访问资源所需的全部信息,就必须相对于另一个,被称为基础(base)的 URL 进行解析。
- 基础 URL:基础 URL 是作为相对 URL 的参考点使用的:
- 在资源中显示转换(
<BASE>
) - 封装资源的基础 URL
- 没有基础 URL
- 解析相对引用:
3.2 自动扩展 URL
- 主机名扩展:在主机名扩展中,只要有些小提示,浏览器通常就可以在没有帮助的情况下,将你输入的主机名扩展为完整的主机名。比如,在地址栏输入
yahoo
,浏览器就会在主机名中插入www.
和.com
,构建出www.yahoo.com
。 - 历史扩展:浏览器用来节省用户输入 URL 时间的另一种技巧是,将以前用户访问过的 URL 历史存储起来。
四、字符
- 为了避开安全字符集表示法带来的限制,人们设计了一套编码机制,用来在 URL 中表示各种不安全的字符。这种编码机制就是通过一种 “转义” 表示法来表示不安全字符的。
- 字符限制:
五、方案
- 常见方案格式:
网友评论