From c4552853e7234b5c9a698bc90c363a41afd8e050 Mon Sep 17 00:00:00 2001 From: Stefan Eissing Date: Thu, 19 Nov 2015 16:24:31 +0000 Subject: [PATCH] updated documenation, fixed includes to work with older apr versions git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1715209 13f79535-47bb-0310-9956-ffa450edef68 --- docs/manual/mod/mod_http2.xml | 33 +++++++++++++++++++++++++++------ modules/http2/h2_mplx.c | 1 + 2 files changed, 28 insertions(+), 6 deletions(-) diff --git a/docs/manual/mod/mod_http2.xml b/docs/manual/mod/mod_http2.xml index da0a6b693e..ae907a5412 100644 --- a/docs/manual/mod/mod_http2.xml +++ b/docs/manual/mod/mod_http2.xml @@ -57,7 +57,7 @@ H2Direct H2 Direct Protocol Switch H2Direct on|off - H2Direct on for http:, off for https: requests + H2Direct on for h2c, off for h2 protocol server config virtual host @@ -78,8 +78,22 @@ use on TLS connections not mandated by the standard.

- This mode only has an effect when h2 or h2c is enabled via - the Protocols. + When a server/vhost does not have h2 or h2c enabled via + Protocols, + the connection is never inspected for a HTTP/2 preamble. H2Direct + does not matter then. This is important for connections that + use protocols where an initial read might hang indefinitely, such + as NNTP. +

+

+ For clients that have out-of-band knowledge about a server + supporting h2c, direct HTTP/2 saves the client from having to + perform an HTTP/1.1 upgrade, resulting in better performance + and avoiding the Upgrade restrictions on request bodies. +

+

+ This makes direct h2c attractive for server to server communication + as well, when the connection can be trusted or is secured by other means.

Example @@ -161,7 +175,7 @@ H2Upgrade H2 Upgrade Protocol Switch H2Upgrade on|off - H2Upgrade on for http:, off for https: requests + H2Upgrade on for h2c, off for h2 protocol server config virtual host @@ -183,8 +197,15 @@

This method of protocol switching is enabled by default on cleartext - (http:) connections and disabled on TLS (https:), as mandated - by RFC 7540. + (potential h2c) connections and disabled on TLS (potential h2), + as mandated by RFC 7540. +

+

+ Please be aware that Upgrades are only accepted for requests + that carry no body. POSTs and PUTs with content will never + trigger an upgrade to HTTP/2. + See H2Direct for an + alternative to Upgrade.

This mode only has an effect when h2 or h2c is enabled via diff --git a/modules/http2/h2_mplx.c b/modules/http2/h2_mplx.c index 8c38bccdc9..3908590985 100644 --- a/modules/http2/h2_mplx.c +++ b/modules/http2/h2_mplx.c @@ -16,6 +16,7 @@ #include #include +#include #include #include #include -- 2.49.0