Web

来源:互联网 发布:孤岛惊魂2知乎 编辑:程序博客网 时间:2024/05/09 07:44

1、DNS Lookup

DNS(Domain Name System),所谓DNS Lookup就是一个域名解析的过程,将一个域名转换为IP,在互联网中都是依赖于IP进行访问的,域名只是一个名称,为了便于记忆而产生。如果是直接IP访问,那么就没有DNS Lookup这一步,另外还有一种情况,当短期内已经解析的域名,也会根据之前解析的缓存直接读取,跳过DNS Lookup的过程。


2、TCP Connect

TCP Connect即TCP连接,这个步骤只要是经过TCP传输连接的,都统一会有,相当于打开一个数据传递通道,每一次新的TCP连接都会有这么一个过程,而HTTP也是通过TCP进行传递数据,这个过程还要是新的连接就是必然产生的,也称之为“三次握手”。如果是使用已有的TCP传输通道,那么在HTTP请求时就不会有这个步骤,这个依赖已经建立的连接过程一般就叫作长连接。


3、HTTPS Handshake

HTTPS Handshake 即HTTPS握手过程,用于交换证书等一系列的加密信息,只有在协议为HTTPS的情况下会出现,而且必须有,且这个步骤只会存在于每次新的TCP连接之后进行,对于已经连接或者复用之前已经做过这个握手过程的,也将跳过这个步骤。如果是普通的HTTP协议,那么就没有这个步骤。


4、HTTP Request Header

这里的HTTP Request Header包括了2个部分,首先是请求行,再来是所有的头信息,那么不管是什么样的HTTP请求方法,都是必然包含这些内容的,所以这是在HTTP通信过程中不可缺少的部分。


5、HTTP Request Body

HTTP Request Body从常理来说,应该和上一步Header都是HTTP Request的数据,是完全可以合在一起发送的,但是比较规范的协议角度还是将他们分开了,但这并不会影响任何的解析,对于GET等没有Body的HTTP请求方法,那么就没有这个步骤,也是为什么从会提到GET速度相对快一些的原因,但这个差别几乎是看不到的。


6、HTTP Response Header

HTTP Response和Request相同,也是将Header和Body分开了,Header这个步骤是必须的,很多时候甚至只需要HTTP状态码即可分辨结果。


7、HTTP Response Body

在Response Header之后,继续发送的Response Body内容,但如果没有Body,那么跳过此步骤。


8、TCP Close

既然有连接的打开,就也会存在TCP连接的关闭,但如果协定了不关闭连接,比如HTTP中的Keep-alive逻辑,就会将一个连接保留在后续HTTP请求的过程中再次利用。

2 0
原创粉丝点击