http长连接机制

         Connection: close HTTP heade这句话的含义是表明当前正在使用的tcp链接在当前请求处理完毕后会被断掉。
在http1.0协议中每次请求和响应都会创建一个新的tcp连接,http1.1之后才开始支持可以重用第一次请求的http连接,
默认支持长连接形式。
如果client或server端不想支持长连接,则需要在http的header加上connection:close.长连接的优点是新的请求可以在
上次请求建立的TCP连接之上发送,连接可以复用。优点是减少重复进行TCP三次握手的开销,提高效率。
            所以如果vtp请求响应里有Connection: close,不会影响下一次请求,只是下一次请求会创建一个新的tcp连接,之前的tcp连接不能复用。
目前的情况是vtp已经给出了下一次请求的地址,但openxi那边并没有发出下一次请求。这个需要确认openxi那边目前是否只能在一个tcp长连接
下才能继续发送请求.如果是这样的话那也是不正常的。
            至于vtp这边为什么有的响应里会加上Connection: close,怀疑跟tomcat长连接机制有关,tomcat中有个 maxKeepAliveRequests属性.默认值是
100,该属性表示当同一个连接的请求达到maxKeepAliveRequests的值时会自动断开这个连接.
          需要考虑的是http长连接会加大服务端的压力。如果请求的客户比较多的话,可能会耗尽服务端的连接数。

猜你喜欢

转载自carl-java.iteye.com/blog/1202241