关于网络编程的一些问题(HTTP、TCP、什么时候需要关注三次/四次握手的等)
1、 HTTP1.1规定了默认保持长连接(HTTP persistent connection ,也有翻译为持久连接),数据传输完成了保持TCP连接不断开(不发RST包、不四次握手),等待在同域名下继续用这个通道传输数据;相反的就是短连接。
问:HTTP建立在TCP链接之上,那如果客户端很多的话,岂不是要建立很多TCP链接,千万级的用户数量,那服务器和客户端之间要建立千万的链接吗?
真这样资源消耗得多大!感觉哪里不对,但是又不太明白,请指教
2、HTTP1.1 的短连接模式,是不是每次访问都要创建TCP链接和断开TCP链接?这样不断的创建和消耗TCP链接,资源消耗应该很大吧?
3、创建TCP链接,往往都是直接调用 socket()、bind()、listen()、accept()、send与recv 完成 链接的创建、绑定、监听、收发。
在这个过程中,也不需要了解底下的步骤和实现(什么三次握手,四次握手,也没碰到,都顶层封装好了),是不是在什么地方需要关心三次握手和四次握手?
发现面试官几乎必考三次和四次握手。请问编程中在哪里需要关注三次握手和四次握手并针对处理?
HTTP的长连接和短连接 - 烛秋 - 博客园