前言
这一章节讲述了关于 URL 的相关知识,主要包括下面的内容:
- URL 语法
- URL 快捷方式
- URL 编码与字符规则
- 常见的 URL 方案
- URL 的未来——URN
URL 语法
一般格式(九个组件):<scheme>://<user>:<password>@<host>:<port>/<path>;<param>?<query>#<frag>
URL 主要的三个组件:
- 第一部分: URL 的「方案」(scheme)
- 第二部分: URL 的「主机」(host)
- 第三部分: URL 的「路径」(path)
其他的五个组件:
- password: URL 的「密码」用户名后面的密码,以 “:” 分隔
- user & password: URL 的「用户和密码」,与 URL 其他部分以 "@" 分隔
- params: URL 的「参数」使用这个组件指定参数,与 和其他 param 之间以 ";" 分隔
- query: URL 的「询问」使用这个组件传递参数以激活应用程序,与 URL 其余部分以 "?" 分隔
- frag: URL 的「片段」 一小片或者一部分资源的名字,与 URL 其他部分以 "#" 分隔(不会传递给服务器,在客户端内部使用)
常见的 URL 方案
- http:默认端口为 80
- https:与 http 方案的语法相同,只是中间加了网景的 SSL(端到端的加密机制),默认端口为 443
- mailto:基本格式与 URL 标准格式不同: mailto:
- ftp
- rtsp,rtspu
- file
- news
- telnet
URL 快捷方式:相对 URL 和自动扩展 URL
相对 URL
算法通过继承基础 URL 来获得相对 URL,取得相应的资源.
自动扩展 URL
- 主机名相对扩展:在地址中输入 yahoo, 那么自动扩展出前面的 www. 和后面的 .com
- 历史扩展:浏览器储存用户过去访问过的 URL, 当你输入 URL的时候,浏览器进行自动的匹配
URL 的编码与字符规则
URL 的编码字符中包括了以下:
- URL 字符集:使用 US-ASCII 字符集(7位二进制码)
- 转义字符:比如空格、~、%等等:使用%后面加表示字符的 ASCII 码的十六进制数.
需要注意:
在转义字符中,存在字符限制的字符,即 URL 中保留以及受限的字符,比如: #、?、@...
URN 简介
URN 是 uniform resource name 的简称,中文名为统一资源名.
基本思想:在搜索资源的时候加入一个中间层,包含资源定位符,对资源实际的 URL 进行跟踪和登记.