Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么我的基于Netty的服务器对CurlHTTP/2先验知识请求和vegeta-h2c请求的响应会有所不同?_Curl_Netty_Vegeta - Fatal编程技术网

为什么我的基于Netty的服务器对CurlHTTP/2先验知识请求和vegeta-h2c请求的响应会有所不同?

为什么我的基于Netty的服务器对CurlHTTP/2先验知识请求和vegeta-h2c请求的响应会有所不同?,curl,netty,vegeta,Curl,Netty,Vegeta,我有一个基于Netty 4.1的服务器。我非常小心地让它成为一个行为良好的HTTP/2公民。这项工作的一部分涉及处理所谓的“先验知识”和从HTTP-1.1升级的场景 我已经使用curl--http2(必要时将进行升级)和curl--http2先验知识测试了我的应用程序。在这两种情况下,它的响应都很好,并且达到了我所期望的效果 最近,我发现了一个很棒的小负载测试工具。它有一个-h2c选项,我相信它可以做curl--http2先验知识所做的事情(HTTP/2没有TLS,也没有执行“请从HTTP 1.

我有一个基于Netty 4.1的服务器。我非常小心地让它成为一个行为良好的HTTP/2公民。这项工作的一部分涉及处理所谓的“先验知识”和从HTTP-1.1升级的场景

我已经使用
curl--http2
(必要时将进行升级)和
curl--http2先验知识测试了我的应用程序。在这两种情况下,它的响应都很好,并且达到了我所期望的效果

最近,我发现了一个很棒的小负载测试工具。它有一个
-h2c
选项,我相信它可以做
curl--http2先验知识所做的事情(HTTP/2没有TLS,也没有执行“请从HTTP 1.1升级我”的操作)

然而,当我使用
vegeta-attack
-h2c
选项攻击我的服务器时,即使只使用一个请求(通过
-rate=1/2s-duration=2s
),
vegeta
挂起,无法读取正文:

Error Set:
net/http: request canceled (Client.Timeout exceeded while reading body)
据我所知,
vegeta
是用Go编写的,因此可能使用Go
h2c
库。
curl
使用
nghttp
。如果我正确处理
curl
的HTTP/2-via-previous-knowledge请求,但
vegeta
有问题,这意味着什么