-
Notifications
You must be signed in to change notification settings - Fork 9.2k
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
[Early WIP] Websockets over HTTP/2 #4014
Conversation
Main API
|
The public API implications here are pretty devastating. Do we really need to alter the surface area so much? |
I can implement it with all internal changes for now. But I’d love to be able to use with other external upgraded protocols provided by libraries. I can make that a completely separate later PR and discussion |
I would prefer we decouple those efforts just for simplicity.
…On Sun, May 20, 2018 at 3:31 PM Yuri Schimke ***@***.***> wrote:
I can implement it with all internal changes for now. But I’d love to be
able to use with other external upgraded protocols provided by libraries. I
can make that a completely separate later PR and discussion
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#4014 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AAEEERXiunM47OTwrWzOeVQeizhDVjQgks5t0cSjgaJpZM4UGLJP>
.
|
I think it’d be great to get this working. I’m using a lot of web sockets in one of my current projects and this could make things a lot smoother. How does the client indicate that we should attempt HTTP/2? Do we need to set policy? I think that’s the trickiest part of the whole business. |
Good question. I was planning to attempt HTTP/2 once per client/host when there is existing connection. Then remember failure. Default to http/1.1 for new connections. I think getting in the basic support first is useful. Before widespread adoption and hopefully to help foster it. OkHttp client API isn’t really helpful for per request or per host changes. Any suggestions? It's not public API yet - policy implies it would be. |
My preference is that eventually it just works: if the server can do HTTP/2 web sockets we use ’em. To get there I think we probably do a phased migration in:
In either case I think we get something like RetryAndFollowUpInterceptor to fallback to HTTP/1 if HTTP/2 doesn’t work. |
No time to fix up at the moment. |
Towards https://datatracker.ietf.org/doc/draft-ietf-httpbis-h2-websockets/?include_text=1
Steps - working on step 2 currently
Public API changes
TODO