长连接和短连接
首先,连接指的是传输层的TCP连接 连接就是连接,没有长短之说 是长是短取决于你是否关闭连接 建立连接后进行一次读写就马上关闭,这条连接对你来说就是短连接,如HTTP0.9, HTTP 1.0(默认关闭,支持Keep-Alive)就是这样 HTTP 1.1协议的headers中默认有Connection: Keep-Alive,告诉HTTP服务器不要关闭连接,后续的HTTP请求继续用这条连接,那这条连接对你来说就是一条长连接 另外,socket的SO_KEEPALIVE选项跟http中的Keep-Alive是完全不同的东西,前者是服务器在一条连接至少空闲2小时后发送探活包检测客户端是否还有响应,意在检测半开连接并关闭,后者前文应该已经说明白了。