HTTP 1.1没有任何机制要求服务器取消请求。可以从中获取输入/输出/错误流
HttpURLConnection
关闭它们。那会扔
IOException
在客户端,允许客户端在取消后进行清理。HTTP 1.1的“持久”或“保持”TCP连接将继续存在,以供将来的请求使用。因此,在服务器尝试写入并失败之前,它无法了解客户端上的这些事件。
HTTP 2提供了一个单独的框架,名为
RST_STREAM
关闭流或取消已激发的请求。自从Java 9
HttpClient
允许我们进行异步HTTP请求,返回
CompletableFuture
,现在有一种更优雅的方法可以使用
cancel()
方法
复杂的未来
.
我的问题:
-
Java 9 +发行版是否实际发送
RSTH流
到服务器的时间
取消()
是否被调用?
-
JEE8是否提供任何机制,在收到HTTP请求时中断对HTTP请求执行的业务逻辑?
RSTH流
?或者未来版本的计划?