短连接
连接->传输数据->关闭连接
比如HTTP是无状态的的短链接,浏览器和服务器每进行一次HTTP操作,就建立一次连接,但任务结束就中断连接。
具体就是 浏览器client发起并建立TCP连接 -> client发送HttpRequest报文 -> server接收到报文->server handle并发送HttpResponse报文给前端,发送完毕之后立即调用socket.close方法
->client接收response报文->client最终会收到server端断开TCP连接的信号->client 端断开TCP连接,具体就是调用close方法。
也可以这样说:短连接是指SOCKET连接后,发送接收完数据后马上断开连接。
因为连接后接收了数据就断开了,所以每次数据接受处理不会有联系。 这也是HTTP协议无状态的原因之一。
长连接
连接->传输数据->保持连接 -> 传输数据-> ...........->直到一方关闭连接,多是客户端关闭连接。
长连接指建立SOCKET连接后不管是否使用都保持连接,但安全性较差。
长连接多用于操作频繁,点对点的通讯,但是连接数不能过多,HTTP请求每次都需要三次握手,消耗时间,socket不关闭即可
短连接适合web大规模浏览访问资源,特点是并发访问容量大,如果选择长连接会消耗很多资源
长连接实际上说的是TCP连接,长连接本质上就是为了复用
HTTP1.1默认的是长连接 ,Connection的默认值是keep-alive