url:统一资源定位符,定位网络中某台主机上的某个资源—也会是网址
url的组成:协议名称://用户名:密码@域名:端口/资源路径?查询字符串#片段标识符
什么是域名? 域名:又称网域,是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时对计算机的定位标识(有时也指地理位置)。 由于IP地址具有不方便记忆并且不能显示地址组织的名称和性质等缺点,人们设计出了域名,并通过网域名称系统(DNS,Domain Name System)来将域名和IP地址相互映射,使人更方便地访问互联网,而不用去记住能够被机器直接读取的IP地址数串。
eg:,访问www.baidu.com和浏览器输入百度的域名180.101.49.12访问百度一样,但前者更容易记忆。
其中:
端口:http服务默认使用80端口。https使用443端口,ftp--->21, ssh---->22
/path:要请求的资源在主机上的路径---相对根目录
查询字符串:提交给服务器的数据,由一个个的键值对组成,key=val&key=val&key=val&…
片段标识符:定位页面位置
url编码:url(尤其是查询字符串)中若具有特殊字符,有可能会与url中的某些特殊字符产生歧义,因此资源路径和查询字符串中不允许出现特殊字符,若出现特殊字符则需要转义。
编码规则:将特殊字符的每个字节转换为16进制数字字符,并且为了表示这两个个字符是转义后的字符,前面加%来表示这两个数字为编码后的数字。
url解码:在url中遇到%则认为其后两个数字为编码后的数据,将两个字符转换为16进制数字。第一个数字左移4位(高四位),再加上第二个数字。 Eg: 2 b –> 0010 1011
|