ホームページの表示速度を早くするために、サーバーからホームページを見に来た人にデータを圧縮して送る方法です。
圧縮して送ることで、容量が軽くなり、早くホームページを表示することができるようになります。
Apache2.xの場合
mod_deflateモジュールを使って圧縮を行います。
まずは、テキスト文章(.html,.css,.jsなどなど)を圧縮する方法
AddOutputFilterByType DEFLATE text/html text/plain text/xml
をapacheの設定ファイル(httpd.conf)の中に記入するだけで完了です。
画像以外を全て圧縮する方法
画像はもともと圧縮してあるため、圧縮を行うとサーバー側に逆に負担をかけてしまうので行うのをお勧めしません。
Apache2.0.x
<IfModule mod_deflate.c> SetOutputFilter DEFLATE #Netscape 4.x BrowserMatch ^Mozilla/4 gzip-only-text/html #Netscape 4.06 BrowserMatch ^Mozilla/4.0[678] no-gzip #MSIE masquerades as Netscape,but it isfine #BrowserMatch bMSIE !no-gzip !gzip-only-text/html #NOTE:Due to abug in mod_setenvif up to Apache2.0.48 #the above regex won't work.You can use the following #workaround to get the desired effect: BrowserMatch bMSI[E] !no-gizp !gzip-only-text/html #Don't compress images SetEnvIfNoCase Request_URI.(?:gif|jpe?g|png)$ no-gzip dont-vary #Make sure proxies don't deliver the wrong content Header append Vary User-Agent env=!dont-vary </IfModule>
Apache2.2.x用
<IfModule mod_deflate.c> SetOutputFilter DEFLATE #Netscape 4.x BrowserMatch ^Mozilla/4 gzip-only-text/html #Netscape 4.06 BrowserMatch ^Mozilla/4.0[678] no-gzip #MSIE masquerades as Netscape,but it isfine #BrowserMatch bMSIE !no-gzip !gzip-only-text/html #Don't compress images SetEnvIfNoCase Request_URI.(?:gif|jpe?g|png)$ no-gzip dont-vary #Make sure proxies don't deliver the wrong content Header append Vary User-Agent env=!dont-vary </IfModule>
圧縮に対応させない場合
古い機種の携帯などでそのホームページを見る人がいる場合は注意が必要です。
そんなときは、.htaccessを使ってそのフォルダの中のホームページを圧縮させないようにすれば、大丈夫。
<IfModule> SetEnv no-gzip </IfModule>
[…] 「HP高速化、apacheでmod_deflate(mod_gzip)する方法」に、「ホームページの表示速度を早くするために、サーバーからホームページを見に来た人にデータを圧縮して送る方法です。圧縮して送ることで、容量が軽くなり、早くホームページを表示することができるようになります。」と記述されていましたので、さっそくやってみました。 参考サイト~「Apache モジュール mod_deflate」 [当サイトは、自宅サーバーでxampp for windows(xampp1.6.3a)を使用して立ち上げています。] […]