第三章(HTTP报文内的HTTP信息)
1.用于 HTTP 协议交互的信息被称为 HTTP 报文。客户端的HTTP 报文叫做请求报文,服务器端的叫做响应报文。
2.请求报文和响应报文的首部内容组成:
请求行 :包含用于请求的方法,请求 URI 和 HTTP 版本。
状态行 :包含表明响应结果的状态码,原因短语和 HTTP 版本。
首部字段 :包含表示请求和响应的各种条件和属性的各类首部。
3.编码(作用类似于压缩)
通过在传输时编码,能有效地处理大量的访问请求,提升传输效率,但消耗更多的CPU资源。
4.报文主体和实体主体
报文:HTTP 通信中的基本单位,由 8 位组字节流组成,通过 HTTP 通信传输。
实体:作为请求或响应的有效数据载体被传输。
通常,报文主体等于实体主体。只有当传输中进行编码操作时,实体主体的内容发生变化,才导致它和报文主体产生差异。
5.分块传输码
用于解决大量数据的传输,让浏览器逐步显示页面。
6.内容协商
网页为了返回最佳内容而进行的与客户端或服务器端的交涉。
服务器驱动协商:由服务器端进行内容协商。以请求的首部字段为参考,在服务器端自动处理。但对用户来说,以浏览器发送的信息作为判定的依据,并不一定能筛选出最优内容。
客户端驱动协商:由客户端进行内容协商的方式。用户从浏览器显示的可选项列表中手动选择。
透明协商:是服务器驱动和客户端驱动的结合体,是由服务器端和客户端各自进行内容协商的一种方法。
第四章(HTTP状态码):
描述客户端向服务器端发送的请求的响应结果。
例:正常:200 OK
错误:404 not found
状态码类别:
第五章(与 HTTP 协作的 Web 服务器):
一台 Web 服务器可搭建多个独立域名的 Web 网站,也可作为通信路径上的中转服务器提升传输效率。
1.单台虚拟主机(虚拟服务器)实现多个域名
HTTP/1.1 规范允许一台 HTTP 服务器搭建多个 Web 站点。物理层面上只有一台服务器,实际上利用虚拟服务器却可以进行多点运转。
DNS服务解析域名后,以IP的形式访问,同一个IP下,虚拟主机可以寄存多个不同主机名和域名的Web网站,此在发送 HTTP 请求时,在 Host 首部内完整指定主机名或域名的 URI即可。
2.通信数据转发程序 :代理、网关、隧道
(1)代理:客户端与服务器端通信的中间人。接收由客户端发送的请求并转发给服务器,同时也接收服务器返回的响应并转发给客户端。
缓存代理:保存资源副本,再次获取相同资源时直接使用资源副本,不再缓存。(节约流量)
透明代理:转发请求或响应时,不对报文做任何加工的代理类型被称为透明代理。反之,对报文内容进行加工的代理被称为非透明代理。
(2)网关:转发其他服务器通信数据的服务器。接收客户端请求后的处理方式同源服务器(持有资源实体的服务器)的方式一样。简单来说就是把转发数据当做自己的数据处理。
(3)隧道:在相隔甚远的客户端和服务器两者之间进行中转,并保持双方通信连接的应用程序。只进行传输的作用,不对内容做任何的改变。
3.缓存服务器(缓存代理的一种)
缓存是指代理服务器或客户端本地磁盘内保存的资源副本。
缓存具有有效期,缓存失效后,缓存服务器将会再次从源服务器上获取“新”资源(相当于重新下载)。
源服务器资源更新时,你可以仍然使用缓存服务器的旧副本。
习于《图解HTTP》