[ https://issues.apache.org/jira/browse/CXF-6349?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andriy Redko updated CXF-6349: ------------------------------ Description: [https://http2.github.io/] Can be complementary to what Aki has done with WebSockets. h2. Proposal All four web containers (Jetty / Tomcat / Undertow / Netty), which CXF integrates with, support HTTP/2 over TCP (h2c) and HTTP/2 over TLS (h2). Technically it is possible to only support HTTP/2 protocol [1], but practically both HTTP/1.1 and HTTP/2 always come together. As such, the it would make sense to enhance current CXF's `ServerEngine`s implementations to turn H2 (or H2C if TLS/SSL is not configured) on, in addition to HTTP/1.1, controllable by property: {noformat} org.apache.cxf.transports.http2.enabled = true | false{noformat} At the moment, only CXF's Undertow transport (`cxf-rt-transports-http-undertow`) allows to configure HTTP/2 support using `Bus` property `org.apache.cxf.transports.http_undertow.EnableHttp2`. The proposal is to deprecate this property for removal in favor of `org.apache.cxf.transports.http2.enabled` (semantic of this property would be kept the same). Meantime, both properties will be supported. Since CXF also provides clients, it is expected to have H2 and H2C support for clients as well. [1] https://http2.github.io/faq/#can-i-implement-http2-without-implementing-http11 was: [https://http2.github.io/] Can be complementary to what Aki has done with WebSockets. h2. Proposal All four web containers (Jetty / Tomcat / Undertow / Netty), which CXF integrates with, support HTTP/2 over TCP (h2c) and HTTP/2 over TLS (h2). Technically it is possible to only support HTTP/2 protocol [1], but practically both HTTP/1.1 and HTTP/2 always come together. As such, the it would make sense to enhance current CXF's `ServerEngine`s implementations to turn H2 (or H2C if TLS/SSL is not configured) on, in addition to HTTP/1.1, controllable by property: {noformat} org.apache.cxf.transports.http2.enabled = true | false{noformat} At the moment, only CXF's Undertow transport (`cxf-rt-transports-http-undertow`) allows to configure HTTP/2 support using `Bus` property `org.apache.cxf.transports.http_undertow.EnableHttp2`. The proposal is to deprecate this property for removal in favor of `org.apache.cxf.transports.http2.enabled` (semantic of this property would be kept the same). Meantime, both properties will be supported. Since CXF also provides clients, it is expected to have H2 and H2C support for clients as well. > Introduce HTTP/2 Transport > --------------------------- > > Key: CXF-6349 > URL: https://issues.apache.org/jira/browse/CXF-6349 > Project: CXF > Issue Type: New Feature > Components: Transports > Affects Versions: 3.4.5 > Reporter: Sergey Beryozkin > Assignee: Andriy Redko > Priority: Major > Fix For: 3.5.0 > > > [https://http2.github.io/] > Can be complementary to what Aki has done with WebSockets. > h2. Proposal > All four web containers (Jetty / Tomcat / Undertow / Netty), which CXF > integrates with, support HTTP/2 over TCP (h2c) and HTTP/2 over TLS (h2). > Technically it is possible to only support HTTP/2 protocol [1], but > practically both HTTP/1.1 and HTTP/2 always come together. As such, the it > would make sense to enhance current CXF's `ServerEngine`s implementations to > turn H2 (or H2C if TLS/SSL is not configured) on, in addition to HTTP/1.1, > controllable by property: > {noformat} > org.apache.cxf.transports.http2.enabled = true | false{noformat} > At the moment, only CXF's Undertow transport > (`cxf-rt-transports-http-undertow`) allows to configure HTTP/2 support using > `Bus` property `org.apache.cxf.transports.http_undertow.EnableHttp2`. The > proposal is to deprecate this property for removal in favor of > `org.apache.cxf.transports.http2.enabled` (semantic of this property would be > kept the same). Meantime, both properties will be supported. > Since CXF also provides clients, it is expected to have H2 and H2C support > for clients as well. > [1] > https://http2.github.io/faq/#can-i-implement-http2-without-implementing-http11 -- This message was sent by Atlassian Jira (v8.3.4#803005)