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

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

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

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

你可能感兴趣的:(tcp,header,byte)