Web - HTTP协议通信过程细节

Web 专栏收录该内容
5 篇文章 0 订阅

分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击http://www.captainbed.net 

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
    评论
  • 4
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: 书香水墨 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值