众所周知,服务器与客户端想要进行数据传输就需要双方建立通信连接,常见的就是TCP连接,也就是三次握手,但是,当我们打开浏览器页面时,查看资源可以发现,会有很多资源状态码(200),那是不是每一个资源都要进行一次TCP连接呢?
如上图所示,每一次返回成功状态码都表示一次资源请求的成功,按理说,每一个资源的请求都得有一次请求连接,但是,是否是每一个资源的请求都会有三次握手呢?答案当然是不会的!这么多资源,得进行多少次三次握手啊,想想就很耗时,所以自然是不会的,那么这么多资源到底是怎么样传输的呢?接下来给大家解惑:
在HTTP1.2版本中,增加了长连接的概念,只需要进行一次三次握手,和一次四次挥手,当三次握手建立连接后,就将图中的一个个资源(URL)传输给客户端,HTTP中实现了心跳机制,也就是参数中的keep-alive,来达到长连接的实现。