http长连接与短连接
长连接短连接操作过程
短连接的操作步骤是:建立连接——数据传输——关闭连接...建立连接——数据传输——关闭连接
长连接的操作步骤是:建立连接——数据传输...(保持连接)...数据传输——关闭连接
HTTP的长连接和短连接本质上是TCP长连接和短连接。HTTP属于应用层协议,在传输层使用TCP协议,在网络层使用IP协议。
在HTTP/1.0中默认使用短连接。也就是说,客户端和服务器每进行一次HTTP操作,就建立一次连接,任务结束就中断连接。
而从HTTP/1.1起,默认使用长连接,用以保持连接特性。使用长连接的HTTP协议,会在响应头加入这行代码:
Connection:keep-alive
在使用长连接的情况下,当一个网页打开完成后,客户端和服务器之间用于传输HTTP数据的TCP连接不会关闭,客户端再次访问这个服务器时,会继续使用这一条已经建立的连接。Keep-Alive不会永久保持连接,它有一个保持时间,可以在不同的服务器软件(如Apache)中设定这个时间。实现长连接需要客户端和服务端都支持长连接。
服务端要设置http长连接关闭策略
(1)定期向空闲客户端发送探测报文,确定客户端状态,探活失败则关闭连接
(2)服务端达到最大连接数,关闭空闲时间最长的连接
(3)空闲超时时间,超时即关闭
一般聊天这种频繁交互的使用长连接,其他普通页面使用短连接
tomcat配置
keepAliveTimeout:表示在下次请求过来之前,tomcat保持该连接多久。这就是说假如客户端不断有请求过来,且为超过过期时间,则该连接将一直保持。
maxKeepAliveRequests:表示该连接最大支持的请求数。超过该请求数的连接也将被关闭(此时就会返回一个Connection: close头给客户端)。设置maxKeepAliveRequests为-1则可以使该连接可以请求无限次数
参考:https://www.cnblogs.com/blogtech/p/10981606.html
https://blog.youkuaiyun.com/u014161595/article/details/84333414
2896

被折叠的 条评论
为什么被折叠?



