自由 の HTTP/2 サポート
Servlet 3.1、Servlet 4.0 以降のデフォルトの HTTP/2
構成をオーバーライドします。
- Liberty での
HTTP/2
プロトコルの使用 HTTP/2
プロトコルは、HTTP/1.1
プロトコルを最適化したものです。 任意のエンドポイントがHTTP/2
のサポートを有効にすることができます。 ただし、接続の両方のエンドポイントがHTTP/2
をサポートしているのではない場合は、HTTP/1.1
プロトコルが使用されます。 Secure Sockets Layer (SSL) 接続では、Application-Layer Protocol Negotiation (ALPN) プロトコルを使用してHTTP/2
がネゴシエーションされます。 非セキュア接続では、HTTP アップグレード・ヘッダーを使用してHTTP/2
が要求されます。 すべての接続で、クライアントはHTTP/2
を使用する要求を開始します。HTTP/2
エンドポイントのネゴシエーションおよび使用はユーザーには透過的です。Servlet 4.0 フィーチャー、またはそれ以降の任意のバージョンが Libertyで有効になっている場合、
HTTP/2
は、すべてのセキュア・ポートおよび非セキュア・ポートに対してデフォルトで有効になります。 Servlet 3.1 フィーチャーが Libertyで有効になっている場合、HTTP/2
プロトコルは、すべてのセキュア・ポートおよび非セキュア・ポートに対してデフォルトで無効になります。 デフォルト設定をオーバーライドするには、HTTP/2
を使用するように Liberty サーバーの個々のポートを構成します。HTTP/2
プロトコルは、Servlet 3.0 以前で使用できるオプションではありません。Servlet 4.0 フィーチャーまたはそれ以降のいずれかのバージョンが有効になっていて、
httpEndpoint
定義にHTTP/2
を使用しない場合は、 Liberty server.xml 構成ファイルのhttpEndpoint
エレメントにprotocolVersion = "http/1.1"
属性を追加します。<httpEndpoint httpPort="9080" httpsPort="9043" id="defaultHttpEndpoint" protocolVersion="http/1.1"> </httpEndpoint>
Servlet 3.1 フィーチャーを使用可能にしていて、
HTTP/2
httpEndpoint
定義を使用する場合は、protocolVersion = "http/2"
属性を Liberty server.xml 構成ファイルのhttpEndpoint
エレメントに追加します。<httpEndpoint httpPort="9080" httpsPort="9043" id="defaultHttpEndpoint" protocolVersion="http/2"> </httpEndpoint>
- server.xml ファイル構成の新しい属性
httpEndpoint
エレメントのオプション属性を以下のように使用します。- 属性
protocolVersion
- 指定可能な値
"http/1.1"
または"http/2"
- 説明
- Servlet 4.0 またはそれ以降のいずれかのバージョンがフィーチャーとして有効になっている場合は、この属性を
"http/1.1"
に設定して、httpEndpoint
エレメントに定義したポートのHTTP/2
処理を無効にします。 Servlet 3.1 がフィーチャーとして有効になっている場合、httpEndpoint
エレメントに定義されているポートに対してHTTP/2
処理を有効にするには、この属性を"http/2"
に設定します。