http长连接短连接

客户端的作用

  • 发起请求:客户端(如浏览器)在访问网站时,会首先向服务器发起一个HTTP请求。在请求中,客户端可以通过设置特定的头部信息(如Connection: keep-alive)来表明自己希望保持连接,而不是在一次请求响应后就关闭连接。

服务端的作用

  • 响应客户端请求:服务端在接收到客户端的请求后,会检查客户端是否请求长连接(通过查看Connection头部信息)。如果客户端请求长连接,且服务器支持长连接,服务器会在响应中也设置Connection: keep-alive,表示同意保持连接。
  • 控制连接的持续时间:即使客户端请求了长连接,服务端也有权决定连接的持续时间。服务器通常会设置一个超时时间(如15秒、30秒等),如果在超时时间内没有新的请求,服务器会主动关闭连接,以释放资源。此外,服务器还可以根据自身的负载情况和资源限制,动态调整是否允许长连接。

 

<Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000" <!-- 请求超时时间:20秒 -->
           keepAliveTimeout="5000"  <!-- 持久连接超时时间:5秒 -->
           maxThreads="200"
           minSpareThreads="25"
           acceptCount="100"
           redirectPort="8443" />



1. Tomcat 配置不支持长连接

在 Tomcat 中,可以通过设置 maxKeepAliveRequests 属性来控制是否支持长连接。将该属性值设置为 1,表示每个连接只允许处理一次请求,之后立即关闭连接。
 
 
 

方法 1:通过 application.properties 配置

application.properties 文件中添加以下配置:
properties
复制
server.tomcat.max-connections=1
server.tomcat.max-keep-alive-requests=1
posted on 2025-04-24 21:47  Hi Martin  阅读(34)  评论(0)    收藏  举报