为什么Http1.1中Socket.Receive(byte[])阻塞,而Http1.0中立刻返回?

来源:互联网 发布:淘宝图片添加热点 编辑:程序博客网 时间:2024/05/18 21:44

 在HTTP1.0和HTTP1.1协议中都有对KeepAlive的支持。其中HTTP1.0需要在request中增加”Connection: keep-alive“ header才能够支持。

所以默认情况下,Http1.1为Keep-alive,接收完一个报文后,TCP连接不关闭,Receive()还在等待接收数据而不返回;

而Http1.0默认则,Recive()接收完一个Http协议报文后TCP马上关闭,立刻返回。

原创粉丝点击