图解HTTP笔记

《图解HTTP》用大量生动的图片,轻松、完整的讲解了一遍HTTP协议, 比那本大部头《HTTP》容易通读。2年之前看过,今天又翻看了下,有常看常新的感觉,特作一些笔记。

0、协议是计算机和网络设备之前通信的规则。规则的内容包含,如何探测到通信目标、由那一方先发起通信、怎么结束通信、使用那种语言通信等。

1、互联网是在TCP/IP协议族的基础上运作的,而HTTP属于它内部的一个子集。

2、TCP/IP通过分层管理协议,分4层即应用层、传输层、网络层、数据链路层。分层之后设计简单,每层只考虑自己层的任务,另外方便局部调整层的设计。

3、发送端数据包经过封包过程到达接送端,接收端经过拆包过程,把数据包送到接收端应用程序。

4、HTTP请求的封包过程如下。(拆包过程正好相反)

4.0、用户访问WEB应用,发起HTTP请求,到达应用层使用HTTP协议,封装成HTTP请求报文。
4.1、到达传输层使用TCP协议,分割HTTP请求报文,转发给网络层。
4.2、网络层使用IP协议,在多个网络设备之间选择一条传输线路,在数据包上增加MAC地址,转发给数据链路层。

5、传输层TCP协议确保数据到达目标的策略, 即三次握手策略(three-way handshaking)。

5.0、发送端首先发送一个带SYN标志的数据包给接收方。
5.1、接收端收到后,回传一个带SYN/ACK标志的数据包,表示传达确认信息。
5.2、最后,发送端再回传一个带ACK标志的数据包,代表"握手"结束。

6、HTTP协议是无状态协议,不保留之前请求和响应报文信息。解决这个问题采用Cookie技术,通过在请求和响应报文中写入Cookie信息来控制客户端状态。
服务端发送的响应报文中有一个叫Set-Cookie的首部字段信息,通知客户端保存Cookie, 客户端下一次发起请求会在请求报文中加入Cookie。

7、HTTP/1.1中,所以的连接默认都是持久连接。

8、HTTP报文是由多行数据构成的字符串文本。主要由报文首部和报文主体构成,通过空行来分隔。

发表评论

电子邮件地址不会被公开。 必填项已用*标注