| Author |  | 
| Steffen Moderator
 
 
 Joined: 15 Oct 2005
 Posts: 3131
 Location: Hilversum, NL, EU
 
 | 
|  Posted: Sat 10 Oct '15 10:29    Post subject: mod_http2 :: HowTo & Info & Tips |   |  
| 
 |  
| Apache 2.4.17 contains mod_http2 (formely mod_h2) and other necessary changes needed for mod_http2. Mod_http2 is contributed by Stefan Eissing (greenbytes GmbH), a great job. 
 A short intro HTTP/2 is at https://http2.akamai.com/ and https://en.wikipedia.org/wiki/HTTP/2
 
 H2 requires OpenSSL 1.0.2 and it is advised to use the Modern compatibility ciphers at : https://www.apachelounge.com/viewtopic.php?p=38292   They give with SSLLabs a good score and in Chrome "using modern cipher suite".
 
 The h2 protocol (http/2 over TLS/1.2) is the only protocol that the current major browsers support, like Chrome, Firefox, IOS9, Win10. The h2c (http/2 over http and no browser currently supports it) is a non-encrypted protocol that mod_http2 also supports and maybe the browsers will chill out eventually and support it. After all, not everything needs encryption and therefor a waste of resources on both ends of a connection.
 
 There are two new core directives available, Protocols and ProtocolsHonorOrder. In the case of mod_h2 for h2:
 
  	  | Code: |  	  | LoadModule http2_module modules/mod_http2.so <IfModule http2_module>
 ProtocolsHonorOrder On
 Protocols h2 http/1.1
 </IfModule>
 
 | 
 For more info and configuration, see:  http://icing.github.io/mod_h2/howto.html  and  https://httpd.apache.org/docs/2.4/mod/mod_http2.html
 
 
 To see if your browser is using HTTP/2, Chrome has a nice extension HTTP/2 and SPDY indicator, with Windows 10 you can see it with F12 / Network, and Firefox has HTTP/2 and SPDY indicator
 
 See also for Curl with http/2: https://www.apachelounge.com/viewtopic.php?t=6784
 
 Please post issues with mod_http2 in the Apache forum.
 
 Last edited by Steffen on Mon 12 Oct '15 21:59; edited 1 time in total
 |  | 
| Back to top |  | 
| Steffen Moderator
 
 
 Joined: 15 Oct 2005
 Posts: 3131
 Location: Hilversum, NL, EU
 
 | 
|  Posted: Mon 12 Oct '15 21:58    Post subject: http/2 requests are still showed as http/1.1. |   |  
| 
 |  
| In access log and mod_status http/2 requests are still showed as http/1.1. 
 If you want see HTTP/2 in the log:
 add  %H to the end of your LogFormat string where it will not break any log readers.
 
 Is going to be fixed in the next release (already in trunk).
 
 Last edited by Steffen on Tue 13 Oct '15 13:50; edited 1 time in total
 |  | 
| Back to top |  | 
| Steffen Moderator
 
 
 Joined: 15 Oct 2005
 Posts: 3131
 Location: Hilversum, NL, EU
 
 | 
|  Posted: Tue 13 Oct '15 12:35    Post subject: |   |  
| 
 |  
| Be sure that : 
 <IfModule http2_module>
 ProtocolsHonorOrder On
 Protocols h2 h2c http/1.1
 </IfModule>
 
 is placed after
 
 LoadModule http2_module modules/mod_http2.so
 
 I was trying h2c and the IfModule was only picked up when it is after the Loadmodule line.
 |  | 
| Back to top |  | 
| icing 
 
  
 Joined: 22 Sep 2015
 Posts: 41
 Location: Münster, Germany
 
 | 
|  Posted: Tue 13 Oct '15 13:23    Post subject: |   |  
| 
 |  
| No need to place an 'IfModule' around it: 
 ProtocolsHonorOrder On
 Protocols h2 h2c http/1.1
 
 are both core directives and the protocols named are just strings. You could as well write:
 
 Protocols ugga ftp agga h2 websocket spdy/3.1 http/1.1
 
 without needing to make sure that all those modules have been loaded. Unknown/Unimplemented protocol strings will just have no effect.
 |  | 
| Back to top |  | 
| lunter 
 
 
 Joined: 12 May 2011
 Posts: 10
 
 
 |  | 
| Back to top |  | 
| Jan-E 
 
 
 Joined: 09 Mar 2012
 Posts: 1283
 Location: Amsterdam, NL, EU
 
 |  | 
| Back to top |  | 
| nickgearls 
 
 
 Joined: 07 Jul 2016
 Posts: 9
 
 
 | 
|  Posted: Wed 23 Aug '17 16:20    Post subject: Re: mod_http2 :: HowTo & Info & Tips |   |  
| 
 |  
| Any info on how to compile it with Visual Studio? |  | 
| Back to top |  |