TsgcHTTPServer › プロパティ › HTTPCompression

HTTPCompression プロパティ

クライアントが対応を通知している場合、DocumentRoot の静的ファイルと動的な OnCommandGet レスポンスの両方について、HTTP/1.1 レスポンスを gzip または deflate で圧縮します。

構文

property HTTPCompression: TsgcHTTPCompression_Options read FHTTPCompression write SetHTTPCompression;

デフォルト値

Enabled=False

解説

既定では、サーバーはすべての HTTP/1.1 レスポンスを非圧縮で送信します。HTTPCompression.Enabled を True に設定すると、クライアントの Accept-Encoding リクエストヘッダーが許可する場合に、対象となるレスポンスを gzip または deflate で圧縮します。Level は圧縮レベルで、0 から 9 まで指定できます(既定値は 6)。MinSize は、これより小さいバイト数のレスポンスの圧縮をスキップします(既定値は 1,024)。小さな本文を圧縮しても CPU コストに見合わないことが多いためです。Algorithms は、サーバーが使用できるエンコーディングの集合です(既定は caGZip と caDeflate の両方で、クライアントが両方を受け入れる場合は gzip が優先されます)。ContentTypes は、どのレスポンスのコンテンツタイプが対象になるかを列挙したもので、text/* のようなワイルドカードもサポートされ、既定値は一般的な text、JSON、JavaScript、XML、SVG の各タイプです。

既に Content-Encoding ヘッダーを持つレスポンス、204/304/1xx ステータスコード、または text/event-stream(Server-Sent Events)のコンテンツタイプを持つレスポンスは、サーバーによって圧縮されることはありません。また、圧縮結果が実際に小さくならない場合は圧縮をスキップします。レスポンスを圧縮する際には Content-Encoding を設定し、Vary: Accept-Encoding ヘッダーを追加します。このプロパティは HTTP/1.1 レスポンスのみを対象とし、HTTP/2 レスポンスには影響しません。詳細な説明についてはHTTP Compressionを参照してください。

使用例


oServer := TsgcHTTPServer.Create(nil);
oServer.DocumentRoot := 'C:\inetpub\wwwroot';
oServer.HTTPCompression.Enabled := true;
oServer.HTTPCompression.MinSize := 1024;
oServer.Active := true;

プロパティに戻る