Is anyone using HTTP/2?

The only things I can find about sending HTTP/2 push notifications show using libcurl inside of PHP. That will work, but the docs pretty clearly say to keep a connection open, and using curl like this does not do that. The Apple documents are ridiculously lacking in how to make an HTTP/2 connection.


Has anybody figured out how to upgrade their server side code to deal with HTTP/2 properly?

In fairness, I think Apple's relying on the HTTP/2 specification to explain the details of opening and maintaining a connection. I'm the author of Pushy, which uses persistent HTTP/2 connections to send push notifications. I generally found the HTTP/2 parts to be pretty straightforward; Apple's not really deviating from the spec at all, though I think they're over-specifying HPACK behavior a bit (what the docs call for is what pretty much any reasonable HPACK implementation does anyhow).


Do you have specific questions or concerns?

We're using this in Ruby-land. Seems to work properly.


https://github.com/ostinelli/apnotic

I definitely applaud you on being able to read/understand the spec. I looked at what was there quickly and stopped. It would be like if they said they follow the HTTP/1 specification, so go read that. People would revolt 🙂


It almost looks like the curl implementation inside of PHP will actually leave a persistent connection, but it doesn't work with curl 7.48, which is current, it has to go back to a previous version, which is annoying. I've gotta go log a bug report with the curl people, though I'm sure they already know about it.

Just an update...curl 7.49.0 that came out a few days ago fixes the reuse issue. I think the easiest option for me is to just use the libcurl library that's available via PHP and do things that way. Nice and simple 🙂

Is anyone using HTTP/2?
 
 
Q