celluloid / reel

UNMAINTAINED: See celluloid/celluloid#779 - Celluloid::IO-powered web server
https://celluloid.io
MIT License
594 stars 87 forks source link

Support HTTP/2 #184

Open digitalextremist opened 9 years ago

digitalextremist commented 9 years ago

We need to assess what we are not currently providing to make Reel::Server HTTP/2 compatible, then start to implement the missing pieces of what's needed to be able to accept HTTP/2 requests.

https://en.wikipedia.org/wiki/HTTP/2#Differences_from_HTTP_1.1

We don't seem that far off from compliance, especially with the core theory involved in pipelining in place.

digitalextremist commented 9 years ago

It seems like the majority of this will invoke server push mechanics, which may be a tad more involved than Reel itself can handle by its limited scope. It doesn't know much about the context it is serving in.

This might become a separate reel-http2 gem, with a configuration object API to describe for the server what resources it can push to the client. That is, if HTTP/2 is largely about server context awareness.

digitalextremist commented 9 years ago

Encryption out-of-the box also seems like a core requirement of HTTP/2.

kenichi commented 7 years ago

see #242