《图解HTTP》读书笔记

来源:互联网 发布:超星阅读器windows 编辑:程序博客网 时间:2024/06/06 19:38

第一章

URI用字符串标识某一互联网资源,而URL表示资源的地点(互联网上所处的位置)。

URL是URI的子集。

2 应用层协议

FTP,DNS(提供域名到IP地址之间的解析服务),HTTP

3 传输层协议

TCP(可靠的字节流服务) UDP

4 网络层

IP协议也在这一层(利用ARP,完成IP-MAC的解析)。
用来处理在网络上流动的数据包。数据包是网络传输的最小数据单位。网络层的作用是在众多的选项内选择一条传输路线。

5 链路层

硬件范畴

6 发送端从应用层往下走、接收端从小往应用层走。

这里写图片描述
用HTTP举例,
首先发送端在应用层(HTTP协议)发出一个想看某个Web页面的HTTP请求。
在传输层(TCP协议)把从应用层得到的数据(HTTP请求报文)进行分割,并在各个报文上打上标记序号以及端口号后,发给网络层。
在网络层(IP协议),增加作为通信目的地的MAC地址后,转发给链路层。

7 发送端在层层之间传输数据时,每经过一层必定会被打上一个该层所属的首部信息。反之,接收端,每经过一层时会把对应的首部消去。

各种协议和HTTP协议的关系

第二章 简单的HTTP协议

2.1 请求报文是由请求方法、请求URI、协议版本、可选的首部字段 和内容实体 构成

这里写图片描述

2.2响应报文基本由 协议版本、状态码、原因短语(解释状态码)、可选的响应首部字段、实体主体 构成。

这里写图片描述

2.3 HTTP是不保存状态的协议(无状态)

2.4 请求的方法:

这里写图片描述

2.5 持久链接节省通信量

在HTTP协议的初始版本中,每进行一次HTTP通信就要建立、断开一次TCP连接。所以当一个html中包含多张图片时,这个问题更严重。

为解决这个问题,提出了HTTP keep-alive只要任意一端没有明确提出断开连接,则保持TCP连接状态。
旨在建立1次TCP连接后进行多次请求和相应的交互。

好处是,减少了TCP连接的 重复建立 和 断开 所造成的额外开销。减轻服务器端负载,也提升了响应速度。

持久链接需要服务端和客户端都支持。

2.6 管线化

持久连接使管线化成为可能。
以前发送请求需要得到响应 才能发送下一个请求。
管线化技术出现后,不用等待响应可并行发送多个请求。
(10个图片一起请求)

2.7 使用Cookie的状态管理

无状态协议 可以减少服务器的CPU内存的消耗。
于是引入Cookie。通过在请求响应报文中写入Cookie信息来控制客户端的状态。
这里写图片描述

2 0
原创粉丝点击