
Linuxでは、ファイルの「圧縮」と「解凍」について色々な用語があります。
圧縮
ファイルサイズを小さくすることです。そのままの意味ですね。
アーカイブ
複数ファイルをまとめることです。Windowsでは、「圧縮」と「アーカイブ」をまとめて「圧縮」と呼んだりしますが、Linuxではそれぞれ別の概念になります。
解凍(展開)
アーカイブされたファイルを元に戻すことです。
拡張子の種類
Windowsは、圧縮関連の拡張子といえば、「zip」や「lzh」でしたが、Linuxはさらに拡張子の数が多いです。
圧縮、解凍関連のコマンドの種類
gzip
gunzip
zip
uzip
lha
tar
アーカイブするだけなら、拡張子が「.tar」のファイルになります。
さらにオプションで圧縮まで行うと「.tar.gz」のようなファイルができあがります。
gzip圧縮とは?
HTML/CSS/JavaScriptをgzipに可逆圧縮して小さくすることでパフォーマンスを改善する技術でウェブ上で最も人気の高い圧縮技術になります。
GNU zipの略です。
メリット
転送速度が向上する。
圧縮、解凍の速度が他と比べて速いのでWeb配信との親和性が高いです。
「Brotli」などの他の圧縮方式との比較
gzipは、圧縮率ではBrotliなどとは劣りますが、圧縮速度や解凍速度の面では他を圧倒しています。
ライブラリ
zlib
- GZIP圧縮ライブラリをラップして使いやすくしたライブラリ。
- 多くの一般的なOS(Mac、Linux、iOS)ではサポートしている。
通知が必要
クライアント側
Accept-Encodingを設定する。
サーバー側
Content-Encodingを設定する。
設定方法
.confを使用する。
Apacheの設定ファイル(.conf)にアクセスできる場合はそちらで設定した方がWebサーバーのパフォーマンスは上がります。
.htaccessを使用する。
権限の問題でApacheのconfファイルにアクセスできない場合はhtaccessを使用します。
その際は、以下のどちらかのモジュールを使用します。
- 「mod_deflate」モジュール
- 「mod_rewrite」モジュール
mod_deflateモジュール
クライアント側からアクセスがあるたびに、サーバー側で転送するコンポーネントを自動圧縮してくれる。サーバーの負荷は上がるのであまり推奨はされない。
mod_rewriteモジュール
URLを書き換える機能を持つモジュールです。アクセスされたURLをgzipに置き換えて「mod_deflateモジュール」と同等の機能を受けることができます。
この記事へのコメントはありません。