【发布时间】:2017-11-27 22:54:11
【问题描述】:
我正在使用Jetty HTTP Client,我想强制客户端在一定数量的请求后关闭与服务器的连接(无论它们的状态如何)——这基本上是“最大值”值的实现HTTP Keep-Alive 标头。
这在 Jetty 中可行吗?在那里挖掘文档似乎不是一个选项,而且我找不到可以访问请求使用的连接并在请求完成后将其终止的地方。
【问题讨论】:
我正在使用Jetty HTTP Client,我想强制客户端在一定数量的请求后关闭与服务器的连接(无论它们的状态如何)——这基本上是“最大值”值的实现HTTP Keep-Alive 标头。
这在 Jetty 中可行吗?在那里挖掘文档似乎不是一个选项,而且我找不到可以访问请求使用的连接并在请求完成后将其终止的地方。
【问题讨论】:
Keep-Alive 标头没有 max 值这样的东西。
Keep-Alive 标头是 HTTP/1.0 独有的功能,在 HTTP/1.0 之外没有任何意义(例如 HTTP/1.1 或 HTTP/2)。
Jetty HTTP 客户端是一个 HTTP/1.1(也可以选择一个 HTTP/2 客户端)。
您正在寻找的是每个连接的最大请求数。
或者换句话说,每个流水线 HTTP/1.1 连接的最大请求数。
这种期望的行为只会存在于 HTTP/1.1 上(Jetty HTTP Client 不支持 HTTP/1.0,所以已经过时了。而 HTTP/2 没有这样的概念)
查看各种 HttpClient.set*Connection() 方法,您会看到各种可能适合您的选项。
如果您找不到符合您需求的问题,请在https://github.com/eclipse/jetty.project/issues/new 提出问题
【讨论】: