HTTP协议--长短连接

HTTP协议

HTTP长连接/短连接(本质是TCP 长连接/短连接)

长连接

长连接指http 请求头和响应头均有connection:keep-alive请求,但是http是请求/响应式的,所以其实没有长短连接之分,长连接实际上指的是TCP的长连接。如此,多个http请求就可以复用一个TCP连接,减少了TCP连接建立和断开的消耗,我们一般使用http1.1的版本,存在keep-alive的设置。

长连接相应字段

connection:keep-alive 请求为长连接

timeout:30 TCP连接的超时时间,超时后会断开连接

max:5 TCP连接被http请求最大复用次数,每有一个http请求用它,max就-1,直到max=0,强制断开连接

短连接

指三次握手连接后,客户端向服务器发送消息,然后服务器回复客户端消息,一次读写操作完成后,发起断开连接的请求。

一般情况下,close动作是由客户端发起的

短连接用于频繁操作,点对点通讯,且连接数不能太多的情况,每次TCP建立都需要三次握手,断开需要四次挥手

实际应用方面

若每次都要建立连接然后处理操作的话效率会降低,故每次操作的下次操作后直接发送数据就可以了,不用再建立TCP连接。

例如:数据库的连接采用长连接,下次操作时直接发送数据不用再建立TCP连接。

(长连接关闭连接通过connection:close 头部字段)

二者的不同,优势

1.通过开启、关闭更少的TCP连接,节约CPU的时间和内存

2.通过减少TCP开启引起的包数目,减少网络阻塞

posted @ 2022-03-31 00:02  ShadowMurloc  阅读(167)  评论(0编辑  收藏  举报