最新記事 by 夜桜 なの (全て見る)
- 著名人が謝罪すべき時の良い手法 - 2024年2月1日
- 【能登地震】自衛隊さんが単独で行動できるときは? ニセ自衛官に注意 - 2024年1月12日
- 【能登地震】被災地に現るニセ自衛官に騙されないで - 2024年1月12日
- 【能登地震】自衛隊さんのお風呂に入るときの注意 - 2024年1月11日
- 自衛隊はなぜ単独で動けるの?能登半島地震においても - 2024年1月8日
Webサイトを高速化するDEFLATE その実態は
DEFLATEとgzipは同じアルゴリズムによる圧縮です。
高速に動的に圧縮できるものの、圧縮率はあまりよくありません。
そこで、より高圧縮にする方法を紹介します。
7-zip もしくは p7zip の gzip圧縮機能
gzipのアルゴリズムを更に洗練していますので、通常のgzipやDEFLATEより10%圧縮率が高くなるのが特長です。
7zipのGUIから圧縮しても良いのですが、
以下のコマンドラインで圧縮すると、ファイル名が格納されない分
更にサイズができます。
7za a -tgzip -mx9 -si output.js.gz < input.js
圧縮率の比較
サンプル数は少ないですが参考にすると良いと思います。
オリジナル | 7zgzip | gzip | |
---|---|---|---|
bootstrap.min.css | 127590 | 18718 | 20904 |
bootstrap.min.js | 25612 | 11059 | 11447 |
オリジナル.min.js | 25054 | 11543 | 11939 |
オリジナル.min.css | 15844 | 5203 | 5352 |
コマンドラインの説明
- -tgzip – gzipモードで圧縮
- -mx9 最大レベル9での圧縮
- 標準入力からの圧縮
事前に圧縮して、.htaccess に設定しましょう。
RewriteEngine on
RewriteCond %{HTTP:Accept-Encoding} gzip
RewriteCond %{REQUEST_FILENAME}\.gz -s
RewriteRule .+ %{REQUEST_URI}.gz<FilesMatch “\.css\.gz$”>
ForceType text/css
AddEncoding x-gzip .gz
</FilesMatch><FilesMatch “\.js\.gz$”>
ForceType application/x-javascript
AddEncoding x-gzip .gz
</FilesMatch><FilesMatch “\.eot\.gz$”>
ForceType application/vnd.ms-fontobject
AddEncoding x-gzip .gz
</FilesMatch><FilesMatch “\.svg\.gz$”>
ForceType image/svg+xml
AddEncoding x-gzip .gz
</FilesMatch><FilesMatch “\.ttf\.gz$”>
ForceType font/truetype
AddEncoding x-gzip .gz
</FilesMatch><FilesMatch “\.woff\.gz$”>
ForceType application/font-woff
AddEncoding x-gzip .gz
</FilesMatch>