客户端的作用
发起请求:客户端(如浏览器)在访问网站时,会首先向服务器发起一个HTTP请求。在请求中,客户端可以通过设置特定的头部信息(如Connection: keep-alive)来表明自己希望保持连接,而不是在一次请求响应后就关闭连接。
服务端的作用
响应客户端请求:服务端在接收到客户端的请求后,会检查客户端是否请求长连接(通过查看Connection头部信息)。如果客户端请求长连接,且服务器支持长连接,服务器会在响应中也设置Connection: keep-alive,表示同意保持连接。
控制连接的持续时间:即使客户端请求了长连接,服务端也有权决定连接的持续时间。服务器通常会设置一个超时时间(如15秒、30秒等),如果在超时时间内没有新的请求,服务器会主动关闭连接,以释放资源。此外,服务器还可以根据自身的负载情况和资源限制,动态调整是否允许长连接。
connectionTimeout="20000" keepAliveTimeout="5000" 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