首先我们明确一点:
TCP设置SO_KEEPALIVE是开启TCP保活机制;
HTTP中 Connection: Keep-Alive是开启TCP长连接;
这俩不是一个东西,不要混为一谈
TCP保活机制,那些参数什么的我就不说了,百度一大堆,我们今天主要谈谈长连接和短连接
其实HTTP的长连接就是TCP长连接,或者可以这么说,HTTP实现长连接是基于TCP支持的;
那么我们发送请求头 Connection: Keep-Alive 实际上控制的是TCP;
TCP短链接实际上就是TCP创建的连接内只能完成一次数据的请求和响应(下图为短连接简图);
在我们开启了长连接后一个TCP连接内就可以多次请求响应(下图为长连接简图)
所以我们所说的http长连接,实际上就是tcp的长连接;
大刷带你搞明白HTTP和TCP长连接短链接那点事
于 2022-01-04 20:25:08 首次发布