如何在 Go 中通过 http:// 发出仅限 HTTP2 的请求?

How do I make a HTTP2-only request over http:// in Go?

我正在使用 Go 1.6 并希望通过 http:// 发出仅 HTTP2 的请求。

当前尝试执行此操作会导致:

Head http://localhost:2076/completed/764c1b6bc55548707507a2dd25570483a7216bf4: http2: unsupported scheme

要强制使用 http2,我认为我需要将 http.Client.Transport.TLSConfig.NextProtos 设置为 []string{"h2"}

还需要什么?

您需要使用 https,而不是 http。 http2 传输无法识别 http 方案。

默认情况下,HTTP/2.0 适用于高度安全的连接。它使用高质量的密码。所以它只能在 HTTPS 连接上 运行。此外,要建立 HTTPS 连接,您还需要启用 SSL 并安装所需的证书。