HTTP圧縮は、Webサーバーから返されるデータをクライアントに送信する前にGZIP形式で圧縮し、トラフィックを削減するHTTP通信技術です。この方式はGZIPエンコーディングまたはGZIP圧縮とも呼ばれ、HTTP/1.1クライアントに対応しています。

HTTP圧縮とは

HTTP/1.1までのHTTPでは、Webサーバーは通常、HTML、CSS、JavaScriptなどのファイルをプレーンテキストとしてクライアントに送信します。これらのファイルには文字列やパターンの繰り返しが多く含まれるため、GZIP圧縮が非常に効果的で、データサイズを大幅に削減し、Webアプリケーションのパフォーマンスを向上させます。ただし、JPEG画像やPDFなど、あらかじめ圧縮されているデータ形式では、HTTP圧縮の効果がほとんど、またはまったく得られず、場合によってはサイズが増加することもあります。

Apacheを使用するサーバーでは、mod_deflateモジュールを使用してHTTP圧縮を実行できます。ただし、圧縮を有効にするとCPU使用率が増加するため、すでに高負荷のサーバーでは応答時間が長くなる可能性があります。このような問題を回避するには、サーバーとクライアントの間にApplication Delivery Controller(ADC)を配置してHTTP圧縮を実行する方が効果的です。たとえば、F5 BIG-IPには、トラフィックを最適化するHTTP圧縮機能が組み込まれています。