1、URL是什么
URL就是因特网资源的标准化名称。URL指向一条电子信息片段,告诉你它们位于何处,以及如何与之交互。通俗来说,就是浏览器寻找信息所需的资源位置。
URI是一类更通用的资源标识符,URL是其子集,URI包括URL和URN。
2、URL的构成
方案://服务器位置/路径
第一部分是方案,如:http://i.cnblogs.com 中的http告诉博客园服务器将使用http协议访问资源。
第二部分是服务器位置,如:i.cnblogs.com 告知Web客户端资源位于何处,通过DNS服务器解析域名访问到博客园服务器。
第三部分是路径,如:/EditPosts.aspx 为资源路径,告知服务器需要资源的位置。
3、URL的语法
大多数URL方案的URL语法都由这9部分构成,称为通用格式:
<scheme>://<user>:<password>@<host>:<port>/<path>;<params>?<query>#<frag>
看起来很长很多,但是几乎没有哪个URL中包含所有的这些组件,URL最重要的3个部分是 方案(scheme)、主机(host)、路径(path)。
组件 | 描述 | 默认值 |
方案(scheme) | 访问服务器以获取资源时要使用哪种协议 | 无 |
用户(user) | 某些方案(如:ftp://joe:joespassword@ftp.prep.com/pub/gnu )访问资源时需要的用户名 | 匿名 |
密码(password) | 用户名后面可能要包含的密码,中间由冒号(:)分隔 | 浏览器发送默认密码 |
主机 | 资源宿主服务器的主机名或以.分割的IP地址 | 无 |
端口 | 资源宿主服务器正在监听的端口号。很多方案都有默认端口号。 | 每个方案不同,如:HTTP 80、Https 443、FTP 21等 |
路径 |
服务器上的资源的本地名,由一个斜杠(/)将其与前面的URL组件分割开来。路径组件的语法是与服务器和方案有关的。 (每个路径段都有自己的参数组件) |
无 |
参数 | 某些方案会用这个组件来指定输入参数。参数为key/value键值对,URL中可以包含多个参数字段,它们之间用;分割 | 无 |
查询 |
某些方案会用这个组件传递参数以激活应用程序。查询组件的内容没有通用格式。用字符"?"将其与URL其他部分分割。 很多网关希望查询字符串以一系列“key/value”对的形式出现,"key/value"对之间用&分割 |
无 |
片段 | 一小片或一部分资源的名字。引用对象时,不会将frag字段传送给服务器;这个字段在客户端内部使用。通常用于锚点链接。 |
无 |
总结:
本章详细探讨了URL的发展历史和结构和语法等,书中还提到了相对URL路径转换成绝对URL的流程,和URL中对特殊字符的处理,以及列举了一些常用的scheme,学习之后对URL有较深的理解。