Skip to content
This repository has been archived by the owner on Nov 1, 2021. It is now read-only.

Support HTTP/2 #118

Open
kgoodier opened this issue May 26, 2015 · 3 comments
Open

Support HTTP/2 #118

kgoodier opened this issue May 26, 2015 · 3 comments

Comments

@kgoodier
Copy link
Contributor

We'd like CocoaSPDY to support HTTP/2, since it is the future and the use of SPDY will likely taper off over time. An implementation here would potentially come earlier than an official Apple version and could provide additional functionality, such as push requests and richer metadata. At present, there are no concrete plans for implementing HTTP/2 in CocoaSPDY, but if there is community interest please indicate it here.

@ddeveloperuch
Copy link

It would be great to support HTTP/2, I sure, main browsers and services will be removing support SPDY in favor of HTTP/2 in the near future.

@plivesey
Copy link

plivesey commented Oct 5, 2015

I'm interested in this. Apple has provided support for HTTP 2 in iOS 9, but as you know @kgoodier, I'm interested in server push which Apple does not seem to support (as far as I can find).

+1 to @griganskiy's comment. It looks like Chrome is removing SPDY early next year from chrome.

Does anyone have an idea of how much work this would take? I've heard the protocols are similar, but am finding it difficult to get a concrete list of differences.

@kgoodier
Copy link
Contributor Author

kgoodier commented Oct 9, 2015

You're right, Apple does not support server push with either their SPDY or HTTP/2 implementations. I wouldn't count on that happening either.

I haven't thoroughly costed this, but there are a lot of similarities. That's certainly very helpful, but I suspect the devil will be in the details. Headers and priorities are different and more complex, and there's the issue of getting HPACK in the code. As far as I know, everything else is basically the same or slightly different. It's still a big undertaking and difficult to justify with iOS 9 supporting HTTP/2.

I think the main argument for HTTP/2 in this project is if you don't control your servers, or have an aggressive SPDY deprecation plan to manage tech debt, or expect a large user base on iOS 8 and earlier, but still want push or require rich metadata. I suspect that is a small subset of people. If you control your servers and clients, SPDY is still a viable option and HTTP/2 offers only incremental technical improvements.

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