第二章 URL与资源

这一章主要学习了

1. URL的语法组件:

协议://[[用户][:密码]@]主机[:端口]/路径?查询#片段

协议:主要告诉应用程序怎么接收和传输数据
用户和密码:主要用于应用程序的验证(比如FTP服务器)
主机和端口:主要用于表示资源的服务器地址
路径:主要用于表示资源在服务器上的哪个位置
查询:主要用于动态应用程序逻辑检索等
片段:主要用于指向客户端特定位置

2. URL相对路径补全算法

#相对URL补全算法
根据URL语法组件来计算
当不存在协议,从当前的URL中继承协议(例如:www.example.com -> http://www.example.com,当然现在的浏览器不会允许出现这种情况,浏览器将会把www.example.com当成是路径http://www.example.com/www.example.com)
当不存在主机,从当前的URL中继承主机(例如:/index.html -> http://www.example.com/index.html或./index.html -> http://www.example.com/a/b/index.html.以此类推你需要了解./ ../ / 代表的意思)
当不存在路径,从当前的URL中继承路径(例如:?a=b -> http://www.example.com/index.html?a=b)
当不存在查询,从当前的URL中继承查询(例如:# -> http://www.example.com/index.html?a=b#)

相对路径补全算法在RFC 2396(URL:通用语法)文档中能找得到

3. URL编码和安全
RFC 3986文档规定,Url中只允许包含英文字母(a-zA-Z)、数字(0-9)、-_.~4个特殊字符以及所有保留字符。
当我们在为URL进行解析的时候,我们需要对URL进行一次解码后才对其进行操作,这样子能避免URL非安全字符当成安全字符进行逻辑判断

你可能感兴趣的:(第二章 URL与资源)