http 长连接和短连接

http 长连接和短连接的区别在于 使用的tcp是长连接还是短连接。

长链接的条件:
1.http connection 设置为keep-alive.需要服务端和客户端都进行设置
2.使用了http1.1协议后的都是长连接,connection都设置为keep-alive

keep-alive是什么?
http协议采用的是“请求-应答”模式,当connection为非keep-alive模式,则每一次的请求-应答任务,服务器和客户端都要重新建立一次连接,任务完成后再断开连接;而当connection为keep-alive模式,会使得服务器和客户端一直保持连接的状态,当再有新的请求任务发生时,就不需要再重新建立,节约时间,也不用耗费资源。

长连接和短连接分别在什么场景下使用?
长连接 用于频繁操作,多次请求的网络应答响应,而且是一对一,点对点的通信;例如:数据库的连接用长连接
短连接 短连接不那么耗费资源,因为不需要长时间占用tcp连接。因此像web网站中的http服务一般都用短连接,因为长连接会占用一定的资源。

什么是tcp连接?
在网络应答请求时,客户端和服务端之间必须建立一个连接,当网络请求完成后,双方就不再需求这个连接时就可以将连接释放。而这里采用的是tcp连接,tcp的协议里面的连接,依靠的是 “三次握手????”,释放时依靠“四次分手”。
三次握手:http 长连接和短连接短连接和长连接的工作原理是啥,有啥优势呢?
长连接 client向server发送请求,server收到请求,双方建立连接。Client向server发送消息,server响应client,然后一次连接就完成了。此时,双方都可以发起close操作。
短连接 client向server发送请求,server响应client的连接,双方建立连接。然后完成一次成功的响应请求,之后他们的连接不会主动关闭,后面的读写响应请求还会继续使用这个连接通道。