Skip to content

x/net/http2: h2c support #13128

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
owenthereal opened this issue Nov 2, 2015 · 4 comments
Closed

x/net/http2: h2c support #13128

owenthereal opened this issue Nov 2, 2015 · 4 comments

Comments

@owenthereal
Copy link

Currently net/http2 only support h2. According to the HTTP2 spec, it can also run over straight TCP (h2c) instead of TLS. I wonder what's the roadmap for it.

/cc @bradfitz

@bradfitz
Copy link
Contributor

bradfitz commented Nov 2, 2015

We do not plan to support h2c. I don't want to receive bug reports from users who get bitten by transparent proxies messing with h2c. Also, until there's widespread browser support, it's not interesting. I am also not interested in being the chicken or the egg to get browser support going. I'm very happy with the TLS-only situation, and things like https://LetsEncrypt.org/ will make TLS much easier (and automatic) soon.

Ask me again in one year.

@bradfitz bradfitz closed this as completed Nov 2, 2015
@bradfitz
Copy link
Contributor

bradfitz commented Nov 2, 2015

But you may be interested in #12737 which is about making some of the golang.org/x/net/http2 innards public, so others can implement h2c on their own, reusing most of the http2 guts. But implementing that bug does not mean the Go standard library or x/net/http2 itself will support h2c. It will only enable other Go packages outside of x/net/http2 to support h2c.

@owenthereal
Copy link
Author

@bradfitz We serve all our requests over TLS and we do want to serve http2 over TLS. But...we're putting ELB in front of the Go servers which could potentially terminate SSL before hitting it, and there're good reasons to do so, e.g., offloading SSL termination. So the communication between ELB and our Go servers don't have to be on TLS. And this may be a legit use case that you didn't think of.

@bradfitz
Copy link
Contributor

bradfitz commented Nov 3, 2015

Yes, specialized protocols inside datacenters is a common and valid use case, but not one that the standard library needs to provide by itself. The specialized protocols that people use inside their datacenters varies a lot (maybe h2c, maybe not). Issue #12737 will make implementing those protocols easier for external packages.

@mikioh mikioh changed the title h2c support for net/http2 x/net/http2: h2c support Dec 8, 2015
@golang golang locked and limited conversation to collaborators Dec 14, 2016
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants