http1.1协议不是默认 connection:keep-alive,支持tcp连接的重复使用,下边两种情况哪一种可以复用tcp连接?
<1>
http://localhost:8080/test/a 调用两次
<2>
http://localhost:8080/test/a
http://localhost:8080/test/b
各调用一次
http1.1协议不是默认 connection:keep-alive,支持tcp连接的重复使用,下边两种情况哪一种可以复用tcp连接?
<1>
http://localhost:8080/test/a 调用两次
<2>
http://localhost:8080/test/a
http://localhost:8080/test/b
各调用一次
参考免费微信小程序:皆我百晓生 作答,经由专家-皆知整理回复,如问题解决,望采纳;如仍有疑问,请评论回复。
HTTP 1.1协议中的长连接允许TCP连接的重复使用,从而减少建立和关闭连接的开销。在HTTP 1.1中,"Connection: Keep-Alive"不再是默认的头部信息,但仍然可以通过显式设置来启用它。当客户端和服务器都支持长连接时,它们可以复用同一个TCP连接来发送多个HTTP请求和接收响应。
对于您给出的两种情况,我们来分析哪种情况可以复用TCP连接:
在这种情况下,只要服务器支持长连接并且客户端没有设置"Connection: close",那么两次调用可以使用同一个TCP连接。当第一个请求完成后,连接不会立即关闭,而是保持打开状态以等待后续的请求。当第二个请求发出时,它将使用相同的TCP连接。
在这种情况下,两个独立的请求发送到服务器。由于它们之间没有明确的依赖关系,服务器和客户端可以决定在发送第一个请求的响应后关闭连接。因此,默认情况下,这两个请求可能会使用两个不同的TCP连接。但是,如果服务器和客户端都支持并配置为使用长连接,那么这两个请求也可能通过同一个TCP连接发送。这取决于服务器和客户端的具体实现以及它们是否配置了长连接。
总结:在两种情况下,是否复用TCP连接取决于服务器和客户端的配置以及它们是否支持长连接。对于第一种情况,两次调用通常可以复用同一个TCP连接。对于第二种情况,是否复用取决于服务器和客户端的具体实现和配置。