HTTP的长连接和短连接(keep-alive状态)

HTTP是建立在TCP上的超文本传输协议。

HTTP协议中的长连接和短连接(keep-alive状态)

写http服务器考虑两种方式:持久连接和非持久连接;
这两种连接方式首先取决于http服务器是否支持;
标准HTTP服务器支持这两种方式,特殊HTTP服务器只支持非持久连接;
持久连接和非持久连接都是服务器端/IE端均可控制的;
控制方式是用Connection : xxxxx字段;
Connection: Close告诉对方这次传输结束以后关闭socket;
Connection: Alive告诉对方这次传输结束以后可以再次利用这个socket以下模拟持久连接;
IE Request 包含Connection:Alive -> HTTP服务器返回网页,HTTP头部包含 Connection: Alive -> IE在HTTP头部描述的字节数接收完毕以后提交下一个请求,其中继续包含 Connection: Alive -> HTTP服务器继续返回网页以下模拟非持久连接;
IE Request 包含Connection:Alive -> HTTP服务器返回网页,HTTP头部包含 Connection: Close,表示自己无视IE的Alive请求 -> IE在HTTP头部描述的字节数接收完毕以后关闭socket需要说明的是,对于持久连接,Server返回的HTTP头部必须包含一个内容大小字段用来确定IE需要接收的data字节,否则持久连接就会发生问题,因为IE无法获知自己什么时候应该发送下一个请求.所以无法确定data字段大小的时候,服务器必须在适当的时候(通常是data发送结束)主动关闭socket;

TCP Keep-Alive

猜你喜欢

转载自blog.csdn.net/liurunjiang/article/details/107087644
今日推荐