先日、Javascript と CSS を縮小することと、Gzip を使用することを好む人との間で、かなり活発な議論がありました。
この人をXと呼びます。
X は、Gzip はファイルを圧縮するので、すでにコードを縮小していると述べました。
私はそうは思いません。Zipは無損失のファイルサイズを縮小する方法。ロスレスとは、元のファイルを完全に復元する必要があることを意味し、スペース、不要な文字、コメントされたコード、その他すべてを復元できるように情報を保存する必要があります。より多くのものを圧縮する必要があるため、より多くのスペースが必要になります。
テストする方法はありませんが、このコードの Gzip は次のようになると思います。
.a1 {
background-color:#FFFFFF;
padding: 40px 40px 40px 40px;
}
このコードの Gzip よりもまだ大きくなります:
.a1{body:background-color:#FFF;padding:40px}
これが正しいか間違っているかを証明できる人はいますか。
そして、「これまでずっと使ってきたから正しい」などと言わないでください。
ここで科学的な証明を求めています。
ベストアンサー1
テストは非常に簡単です。あなたの js を取得して、別のファイルに入れて、gzip -9 を実行しました。これが結果です。これは、Cygwin と gzip 1.3.12 を実行している WinXP マシンで実行されました。
-rwx------ 1 xxxxxxxx mkgroup-l-d 88 Apr 30 09:17 expanded.js.gz
-rwx------ 1 xxxxxxxx mkgroup-l-d 81 Apr 30 09:18 minified.js.gz
実際の JS の例を使用したさらなるテストを以下に示します。ソース ファイルは「common.js」です。元のファイル サイズは 73134 バイトです。縮小すると 26232 バイトになります。
元のファイル:
-rwxrwxrwx 1 xxxxxxxx mkgroup-l-d 73134 Apr 13 11:41 common.js
縮小されたファイル:
-rwxr-xr-x 1 xxxxxxxx mkgroup-l-d 26232 Apr 30 10:39 common-min.js
-9 オプションで gzip 圧縮された元のファイル (上記と同じバージョン):
-rwxrwxrwx 1 xxxxxxxx mkgroup-l-d 12402 Apr 13 11:41 common.js.gz
-9 オプションで gzip 圧縮された縮小ファイル (上記と同じバージョン):
-rwxr-xr-x 1 xxxxxxxx mkgroup-l-d 5608 Apr 30 10:39 common-min.js.gz
ご覧のとおり、さまざまな方法には明確な違いがあります。最善の方法は、minify と gzip の両方を実行することです。