这一章主要学习了 html
1. URL的语法组件: 算法
协议://[[用户][:密码]@]主机[:端口]/路径?查询#片断
协议:主要告诉应用程序怎么接收和传输数据
用户和密码:主要用于应用程序的验证(好比FTP服务器)
主机和端口:主要用于表示资源的服务器地址
路径:主要用于表示资源在服务器上的哪一个位置
查询:主要用于动态应用程序逻辑检索等
片断:主要用于指向客户端特定位置 shell
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非安全字符当成安全字符进行逻辑判断 服务器