《HTTP权威指南》读书笔记(二) :URL与资源

时间:2022-07-15 16:07:55

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)。

通用URL组件
组件 描述 默认值
方案(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有较深的理解。