Golang:解释DumpRequest和DumpResponse HTTP/2
我创建一个客户端并发送http/2请求。使用http2传输 但我明白了 GET/HTTP/1.1 主持人: 在响应转储中,我看到了HTTP/2.0 为什么请求使用HTTP/1.1?Golang:解释DumpRequest和DumpResponse HTTP/2,go,http2,glide-golang,Go,Http2,Glide Golang,我创建一个客户端并发送http/2请求。使用http2传输 但我明白了 GET/HTTP/1.1 主持人: 在响应转储中,我看到了HTTP/2.0 为什么请求使用HTTP/1.1? 如何更改为HTTP/2.0HTTP/2是二进制的,而不是文本的,用二进制转储将是不可读和无用的。这是故意设计的,而且很好: DumpRequest在其HTTP/1.x连接中返回给定的请求 代表性。它应该只被服务器用来调试客户端 请求。返回的表示仅为近似值;一些 在将初始请求解析为 http.Request。特别是标题
如何更改为HTTP/2.0HTTP/2是二进制的,而不是文本的,用二进制转储将是不可读和无用的。这是故意设计的,而且很好: DumpRequest在其HTTP/1.x连接中返回给定的请求 代表性。它应该只被服务器用来调试客户端 请求。返回的表示仅为近似值;一些 在将初始请求解析为 http.Request。特别是标题字段名称的顺序和大小写 我们迷路了。多值标头中的值顺序保持不变。 HTTP/2请求以HTTP/1.x格式转储,而不是以原始格式转储 二进制表示法 如果body为true,DumpRequest还将返回body。要做到这一点 使用req.Body,然后用新的io.ReadCloser替换它 产生相同的字节。如果DumpRequest返回错误,则 req未定义 您可以签出实现细节
clientt := &http.Client{
Timeout: 30 * time.Second,
}
var tr = &http2.Transport{}
clientt.Transport = tr