Web Café Weblog

Web Café Weblog - Archive

圧縮して転送しよう

Last Modified : Sat, January 06 22:02:03 2018 RSS Feed

2004-02-19 / 圧縮して転送しよう

HTTP サーバを使用する上で、最近のマシンだとパワーを持て余し気味かもしれません。少なくとも僕のマシンは全然パワーを使っていないためここはひとつ技術を導入してみることにします。圧縮転送です。

簡単に言うと、対応した Web ブラウザでリクエストがあった場合に、圧縮可能なファイルをサーバ側で圧縮してから転送し、Web ブラウザの側で、伸張して表示させるというものです。これのメリットは、転送時間の圧縮であり、インターネット資源の節約にもなります(大げさ)。まあ、僕の環境では、自分もネットゲームや、Web ブラウジングでも使用しているので、転送自体は少ないに超したことはありません。

この場合、不安な部分と言えば、対応しない Web ブラウザで閲覧されてしまった場合の処理なのですが、これは、リクエストヘッダで、判別しているので、処理できない Web ブラウザに対して、意味不明な圧縮済みのファイルを送ってしまうことはありません。また、圧縮自体するごとに、マシンには負荷がかかりますので、アクセスが多いサイトや、十分な帯域を確保できるサーバではあまり意味がないかと思います。なお、Apache 2 系では、1.3 系であった mod_gzip module を使用することで、圧縮転送することが可能であったものが、mod_delflate という module で標準的に使用することができます。

さて、その方法ですが、Apache (ここでは Apache 2 系)を ./configure するときに、

--enable-deflate

と追加すればいいだけです。(DSO)動的モジュールとしてビルドする場合は、

--enable-deflate=shared

とします。

conf ファイルに関しては、以下のような設定でとりあえずですが動きます。


#以下を、モジュールとかその辺に書いとくぜ
<IfModule mod_deflate.c>
DeflateBufferSize 8096
DeflateMemLevel 9
DeflateWindowSize 15
#以下は僕も自信なし…
AddOutputFilterByType DEFLATE text/html text/plain text/xml
</IfModule>

どのくらい圧縮されているのかを目で確かめて見ましょう。確認するには、Port80 Software: Fortune 1000 HTTP Compression Survey が便利です。自分のサイトの URI を入力して調べてみましょう。

Compression status 欄に、圧縮されているかされていないか表示されました。下のグラフは圧縮された場合と、されない場合の比較が表示されています。Web Cafe' の日記の中で一番重いのは、2002 年 10 月の 67876 bytes です。圧縮された場合は、29451 bytes となり、57.0% の圧縮を実現しています。素晴らしいですね。そうですね。

Diary 0210 の圧縮状況

ということで、今日から Web Cafe'は、圧縮して送るから、お前らのマシンの CPU を使って伸張されてから表示されるのでよろしく。

関連サイト

コメントする

コメントの投稿

Trackback Data

この記事に対する Trackback
https://web-cafe.biz/~prelude/diary/mt-tb.cgi/1125
この記事のリンク先
"圧縮して転送しよう" @Web Café Weblog

↑Top

Powered by Movable Type Pro Copyright © 2000-2018 Web Café Prelude All Right Reserved.