Skip to content
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

x/net/http2: h2c support #13128

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

x/net/http2: h2c support #13128

jingweno opened this issue Nov 2, 2015 · 4 comments

Comments

@jingweno
Copy link

@jingweno jingweno commented Nov 2, 2015

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

This comment has been minimized.

Copy link
Contributor

@bradfitz 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 Nov 2, 2015
@bradfitz

This comment has been minimized.

Copy link
Contributor

@bradfitz 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.

@jingweno

This comment has been minimized.

Copy link
Author

@jingweno jingweno commented Nov 2, 2015

@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

This comment has been minimized.

Copy link
Contributor

@bradfitz 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
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
3 participants
You can’t perform that action at this time.