Home > javascript > Javascriptライブラリをgzip圧縮する

Javascriptライブラリをgzip圧縮する

うちのサイトを構成してるファイル群を見ると、一番大きなファイルは画像ファイルではなく、prototype.jsだった。なんと123.17KBもあるのだ。Webalizerの統計によると、サイト全体の転送量の10%を占める。

100220-0001.png

こぶたのラッパ : 世界の片隅で.jgzと言ってみる

http://smil.exblog.jp/4650470/

早速、生のprototype.jsとgzip圧縮したprototype.jgzを用意した。prototype.jsのバージョンは1.6.0.2だ。

$ cp prototype.js prototype.tmp
$ gzip prototype.tmp
$ mv prototype.tmp.gz prototype.jgz
$ ll prototype.*
-rw-r--r--@ 1 delphinus  staff   29166  2 19 12:29 prototype.jgz
-rw-r--r--@ 1 delphinus  staff  126132  3 10  2008 prototype.js

100KB近く削減できた。後は上のリンクにある通り、Apacheの設定ファイルに以下の記述を追加 *1

NameVirtualHost *:80
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} ".*Safari.*" [OR]
RewriteCond %{HTTP:Accept-Encoding} !gzip
RewriteRule (.*)\.jgz$ $1\.js [L]

AddType "text/javascript;charset=UTF-8" .jgz
AddEncoding gzip .jgz

Apacheを再起動すると、確かにprototype.jgzの方が読み込まれている。

100220-0002.png

prototype.jsの次はmt.jseffects.jsが気になってきた。でもこれ以上はきりがないかな。

*1 : リンクに書かれている、「Safariがgzip圧縮したJavascriptファイルを読み込めない問題」はうちの環境では確認できなかった。その対策である、コードの3〜5行目を除いた状態でも、問題なく閲覧ができたのだ。昔のバージョンのみで起こる問題だったのだろうか?

Comments:0

Comment Form

Trackbacks:0

TrackBack URL for this entry
http://blog.remora.cx/mt/mt-tb.fcgi/52
Listed below are links to weblogs that reference
Javascriptライブラリをgzip圧縮する from blog.remora.cx

Home > javascript > Javascriptライブラリをgzip圧縮する

Feeds
CC Licence

Creative Commons License

このブログはクリエイティブ・コモンズでライセンスされています。

W3C Validation

I ♥ validator

Return to page top