「HTTP INVOKE/GET/POST/HEAD/PUT/DELETE 要求」アクティビティーよる圧縮/圧縮解除

実行時に、「HTTP INVOKE/GET/POST/HEAD/PUT/DELETE 要求」アクティビティーは、HTTP/HTTPS 1.1プロトコルに準拠した HTTP 要求を HTTP サーバーに送信します。

注:HTTP INVOKE/GET/POST/HEAD/PUT/DELETE 要求」アクティビティーは、gzip 形式または deflate 形式による圧縮/圧縮解除をサポートします。 これは、UNIX で一般的な compress と呼ばれるファイル圧縮形式はサポートしていません。

HTTP INVOKE/GET/POST/HEAD/PUT/DELETE 要求」アクティビティーの圧縮/圧縮解除のランタイム動作は、以下の条件に依存します。

これらの条件が「HTTP INVOKE/GET/POST/HEAD/PUT/DELETE 要求」アクティビティーの圧縮/圧縮解除ランタイム動作に与える影響については、以降のセクションおよび『ランタイムの圧縮/圧縮解除動作』セクションの表に説明があります。

圧縮/圧縮解除のエンドポイント・サポート

統合アプライアンスでは、最初の HTTP 要求を圧縮形式で HTTP エンドポイント (HTTP サーバー) に送信するときに、HTTP エンドポイントが圧縮をサポートするかどうかを判断します。HTTP サーバーが、圧縮をサポートしない、あるいは指定した Content-Encoding タイプをサポートしないというエラー・コードを返す場合、統合アプライアンスは最初の要求を非圧縮形式で再送し、このエンドポイントへの以後の要求はすべて非圧縮形式で送信されます。 さらに、HTTP サーバーが送信する HTTP 応答は、統合アプライアンスが受信するときには圧縮解除されていません。

圧縮/圧縮解除に対するエンドポイントのサポートは、『ランタイムの圧縮/圧縮解除動作』セクションに記載されている表にある「エンドポイントは圧縮をサポートしますか?」というラベルの付いた列によって示されます。

メッセージ・レベルでの Content-Encoding 値と Accept-Encoding 値

HTTP 要求の Content-Encoding ヘッダーの値によって、 要求の本体が圧縮されているかどうかと、使用されているエンコードのタイプがわかります。 例えば、Content-Encoding が deflate に等しい場合、統合アプライアンスは、要求の本体を deflate 形式で圧縮して送信します (『要求送信時の圧縮動作』というラベルが付いた最初の表の第 2 行と、次の図を参照)。

要求内の Accept-Encoding ヘッダーの値は、 HTTP クライアントがその応答で受け入れるエンコードのタイプを定義します。 例えば、要求の Accept-Encoding が gzip,deflate に等しい場合、HTTP サーバーは、gzip または deflate 形式で圧縮した応答の本体を統合アプライアンス (クライアントとして機能) に送信できます (次の図を参照)。
図 1.
デフォルトでは、「HTTP INVOKE/GET/POST/HEAD/PUT/DELETE 要求」アクティビティーの「入力のマップ」タスクでオプションの httpheaders 入力パラメーターに何もマップされなかった場合は、一連のデフォルト・ヘッダーが作成されます。 例えば、URL ヘッダーは、「HTTP INVOKE/GET/POST/HEAD/PUT/DELETE 要求」アクティビティーの「構成」ペインで与えられた値に自動的に設定されます。

要求の Accept-Encoding ヘッダーおよび Content-Encoding ヘッダーの値は、「HTTP INVOKE/GET/POST/HEAD/PUT/DELETE 要求」アクティビティーの「入力のマップ」タスクのオプションの httpheaders 入力パラメーターで、名前と値のペアを使用して明示的に設定できます。 例えば、 Content-Encoding を deflate に設定するには、 オプションの httpheaders 入力パラメーターに、次の名前と値のペアを設定します。

  • ストリング Content-Encoding には、httpheaders/httpheaders/otherHeaders/headerItem/name と設定します。
  • エンコード・タイプ (例えばストリング deflate) には、httpheaders/httpheaders/otherHeaders/headerItem/value と設定します。

要求の Accept-Encoding ヘッダーおよび Content-Encoding ヘッダーにサポートされていない値が設定されている場合や、値がまったく設定されていない場合は、以下の表に示すように、デフォルト値が提供されます。

要求内の Accept-Encoding ヘッダーおよび Content-Encoding ヘッダーの値は、統合アプライアンスと HTTP サーバーが圧縮/圧縮解除動作を判別する際に使用されます。

アクティビティー・レベルでの圧縮/圧縮解除の設定

デフォルトでは、圧縮/圧縮解除はすべての HTTP アクティビティーには使用されません。アクティビティーの「構成」タスクに表示された「圧縮/圧縮解除の使用」チェック・ボックスを使用して、圧縮または圧縮解除をアクティビティー・レベルで選択できます。 『ランタイムの圧縮/圧縮解除動作』に示されている表で「圧縮/圧縮解除チェック・ボックスの使用」というラベルの付いた列が、「圧縮/圧縮解除の使用」チェック・ボックスの設定を表します。

注:圧縮/圧縮解除の使用」チェック・ボックスは、HTTP アクティビティーの将来のリリースで非推奨になります。 HTTP 要求本体の圧縮解除方法と、HTTP 応答本体の圧縮方法を指定するには、 HTTP 要求の HTTP パラメーター、Content-Encoding および Accept-Encoding を使用してください。

ランタイムの圧縮/圧縮解除動作

要求送信時の圧縮動作』セクションに記載の表は、統合アプライアンスが HTTP サーバーに HTTP 要求を送信する際のランタイムの圧縮動作を示しています。

要求に渡される Accept-Encoding ヘッダー値』セクションに記載の表は、HTTP 要求に渡される Accept-Encoding ヘッダーの値を示しています。

応答受信時の圧縮解除動作』セクションに記載の表は、統合アプライアンスが HTTP サーバーから HTTP 要求を受信する際のランタイムの圧縮解除動作について説明しています。

要求送信時の圧縮動作

次の表は、統合アプライアンスが HTTP 要求を HTTP サーバーに送信するときの圧縮実行時の動作を説明しています。

圧縮/圧縮解除の使用チェック・ボックス (アクティビティー・レベル) HTTP 要求の Content-Encoding 値 (メッセージ・レベル) エンドポイントは圧縮をサポートしますか? 要求送信時の統合アプライアンスのランタイム圧縮動作
選択 gzip、設定しない、あるいは deflate または ID 以外の任意のストリング はい 統合アプライアンスは、gzip 形式で圧縮した要求本体を送信します。 Content-Encoding ヘッダーは、要求では gzip に設定されます。
選択 deflate はい 統合アプライアンスは、deflate 形式で圧縮した要求本体を送信します。 Content-Encoding ヘッダーは、要求では deflate に設定されます。
選択 identity はい 統合アプライアンスは、非圧縮の要求本体を送信します。 Content-Encoding ヘッダーは、要求では ID に設定されます。
選択 値は無効 いいえ 統合アプライアンスは、非圧縮の要求本体を送信します。 Content-Encoding ヘッダーは、要求では ID に設定されます。
クリア 値は無効 値は無効 統合アプライアンスは、要求本体を現状のまま (変更せずに) 送信します。 Content-Encoding ヘッダーの現行値は、 現状のまま要求に渡されます。

 

要求に渡される Accept-Encoding ヘッダー値

以下の表は、HTTP 要求に渡される Accept-Encoding ヘッダーの値を示しています。

圧縮/圧縮解除の使用チェック・ボックス (アクティビティー・レベル) Accept-Encoding の初期値 エンドポイントは圧縮をサポートしますか? HTTP 要求でサーバーに渡される Accept-Encoding の値
選択 gzip はい Accept-Encoding ヘッダーは、要求では gzip に設定されます。
選択 deflate はい Accept-Encoding ヘッダーは、要求では deflate に設定されます。
選択 gzip,deflate はい Accept-Encoding ヘッダーは、要求では gzip,deflate に設定されます。
選択 deflate,gzip はい Accept-Encoding ヘッダーは、要求では deflate,gzip に設定されます。
選択 identity はい Accept-Encoding ヘッダーは、要求では ID に設定されます。
選択 設定しない、あるいは deflate、gzip、ID 以外の任意のストリング はい Accept-Encoding ヘッダーは、要求では gzip,deflate に設定されます。
選択 値は無効 いいえ Accept-Encoding ヘッダーの現行値は、 現状のまま要求に渡されます。
クリア 値は無効 値は無効 Accept-Encoding ヘッダーの現行値は、 現状のまま要求に渡されます。

応答受信時の圧縮解除動作

次の表は、統合アプライアンスが HTTP サーバーから HTTP 応答を 受信したときの、実行時の圧縮解除動作を示しています。

圧縮/圧縮解除の使用チェック・ボックス (アクティビティー・レベル) HTTP 応答の Content-Encoding 値 (メッセージ・レベル) エンドポイントは圧縮をサポートしますか? 応答受信時の統合アプライアンスのランタイム圧縮解除動作
選択 gzip はい 統合アプライアンスは、gzip 形式を使用して、応答本体を圧縮解除します。
選択 deflate はい 統合アプライアンスは、deflate 形式を使用して、応答本体を圧縮解除します。
選択 identity はい 統合アプライアンスは応答の本体を圧縮解除しません。
選択 Accept-Encoding ヘッダーにリストされない値 はい 統合アプライアンスは、応答データが非送信請求コンテンツのエンコード・タイプで受信されたというエラーをログに記録します。
選択 値は無効 いいえ 統合アプライアンスは応答の本体を圧縮解除しません。 Content-Encoding ヘッダーの現行値は、現状のまま応答に渡されます。
クリア 値は無効 値は無効 統合アプライアンスは応答の本体を圧縮解除しません。Content-Encoding ヘッダーの現行値は、現状のまま応答に渡されます。