「HTTP: 要求の POST (HTTP Post Request)」アクティビティーによる圧縮/圧縮解除

実行時に、「HTTP: 要求の POST (HTTP Post Request)」アクティビティーは、 HTTP/HTTPS 1.1 プロトコルに準拠した HTTP 要求を HTTP サーバーに送信します。

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

HTTP: 要求の POST (HTTP Post Request)」アクティビティーの圧縮/圧縮解除のランタイム動作は、 以下の条件に依存します。

次に、これらの条件が「HTTP: 要求の POST (HTTP Post Request)」アクティビティーの圧縮/圧縮解除ランタイム動作に与える影響について説明します。『ランタイムの圧縮/圧縮解除動作』セクションの表にも説明があります。

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

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

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

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

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

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

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

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

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

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

デフォルトでは、圧縮と圧縮解除は「HTTP: 要求の POST (HTTP Post Request)」アクティビティーのアクティビティー・レベルでオンになっています。アクティビティー・レベルで圧縮/圧縮解除をオフにするには、「圧縮/圧縮解除の使用」チェック・ボックスの選択を解除します。 「圧縮/圧縮解除の使用」チェック・ボックスは、アクティビティーの「構成」タスクで使用できます。 『ランタイムの圧縮/圧縮解除動作』セクションに記載されている以下の表で「圧縮/圧縮解除の使用」チェック・ボックス」というラベルの付いた第 2 列が、 「圧縮/圧縮解除の使用」チェック・ボックスの設定を示しています。

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

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

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

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

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

要求送信時の圧縮動作

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

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

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

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

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