Bug 57624 - Provide support for http/2.0
Summary: Provide support for http/2.0
Status: RESOLVED FIXED
Alias: None
Product: Apache httpd-2
Classification: Unclassified
Component: Core (show other bugs)
Version: 2.5-HEAD
Hardware: All All
: P2 enhancement with 35 votes (vote)
Target Milestone: ---
Assignee: Apache HTTPD Bugs Mailing List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-02-23 14:31 UTC by André-John Mas
Modified: 2016-08-31 14:03 UTC (History)
15 users (show)



Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description André-John Mas 2015-02-23 14:31:09 UTC
With browsers such as Google Chrome an Internet Explorer adding support for http/2, and the specification almost finalised by the IETF, it would good to match this up with support in Apache HTTPD. 

Usefulness of thus feature include, ensuring Apache httpd doesn't lag behind and this also provides a useful reference for anyone else doing work on client side. 

Details here: https://http2.github.io
Comment 1 Stefan Eissing 2015-03-12 08:51:38 UTC
As a way of introducing HTTP/2 support in Apache, I am working on a module to do exactly that. See https://icing.github.io/mod_h2/
Comment 2 Shivanand 2015-03-12 09:20:24 UTC
Thanks Stefan. I went through that already and I'm very excited to try it. It's on my schedule today. Are we going to see support for the Event MPM anytime soon?
Comment 3 Stefan Eissing 2015-03-12 09:22:42 UTC
Currently busy fixing bugs in the module code and expanding the tests. When that is done, I will give mpm_event another try and plan to report any problems/questions on the dev mailing list.
Comment 4 Eric Covener 2015-03-12 12:19:11 UTC
(In reply to Stefan Eissing from comment #1)
> As a way of introducing HTTP/2 support in Apache, I am working on a module
> to do exactly that. See https://icing.github.io/mod_h2/

Very cool, from the HTML is it fair to say it's mod_spdy like (separate threads from the MPM, virtual conn_recs?).  One of the takeaways from mod_spdy was that some of this is better/easier with changes to the core rather than gymnastics in a module.  Please let us know if you hit anything like this where simple API's would make life easier.
Comment 5 Stefan Eissing 2015-03-12 12:30:33 UTC
Hi Eric,

yes, it's heavily based on mod_spdy work. The goal is to have it first working and deployable in a 2.4 httpd. Currently, it needs just one patch to mod_ssl to do (a modified ALPN adapted version of the mod_spdy patch, see https://bz.apache.org/bugzilla/show_bug.cgi?id=52210 for details).

With that done, I can see several things where some nudging of the core APIs will provide better performance and resource handling and more will probably come when I get more experience with the implementation.

I would be happy to present at some not-so-far-out point in time ideas and issues that have come up and discuss with you, Jim and other interested folks how this work can be improved on.

Also, if someone finds the time to look more detailed into the code, I'd be happy to receive feedback and hints on how to use the existing httpd infrastructure in a better way.
Comment 6 Shivanand 2015-03-12 17:35:59 UTC
I'm not much of a developer but I do develop on Wordpress and also a few Firefox addons. Firefox 36.0.1 introduces full support for http/2 see https://www.mozilla.org/en-US/firefox/36.0.1/releasenotes/

With Chrome and Firefox now on http/2 I believe it's only time before the world sees internet speed up. I'd love to test since I keep launching AWS EC2 instances.
Comment 7 André-John Mas 2016-04-29 15:38:26 UTC
Curious as to current status. See there is a mod_http2, marked as experimental, but wondering whether there are plans to make this a main feature?
Comment 8 Leho Kraav @lkraav 2016-04-29 15:40:15 UTC
mod_h2 is getting regular work and is already quite stable for production.
Comment 9 Stefan Eissing 2016-08-31 14:03:20 UTC
mod_http2 will remain experimental until the dust has settled somewhat more. There are still interop and compatibility issues to discover, but it is used in production on several sites.

The experimental status allows the project to move on changes more quickly.