すべてZIPにまとめて高速化、Firefox 3.7で対応
2009/11/19
![]() |
Firefox web browser - Faster, more secure & customizable |
MozillaのAlexander Limi氏がMaking browsers faster: Resource Packagesにおいてブラウザの動作を高速化させる方法を提案している。ブラウザ側の対応だけでよく、サポートしていないブラウザが閲覧しても影響がなく、現在の枠組みの中で簡単に実装して実現できる。Alexander Limi氏はPlone CMFの開発者であるとともに、以前はJarnやGoogleで働いていたこともある。
HTTPリクエストの数を減らすことでWebページの高速な表示を実現しようというテクニックのひとつにCSS Spritesと呼ばれる手法がある。これは複数の画像を一つの画像にまとめ、レンダリングの段階でCSSの分割表示機能を使うというもの。HTTPリクエストの数を減らすことができるため、すでに有名なサイトで高速化テクニックとして採用されている。しかしこの方法には次にあげるようないくつかの問題もある。
- ソースコードがわかりにくくなる
- 圧縮された画像が展開された場合、想定している以上のメモリとディスクを消費するケースがある
- レンダリングに使われるプロセッサリソースが従来よりも増える
- 画像を更新するといった作業が大変
Alexander Limi氏が提案している方法は、いわばCSS Spritesの発想をほかのすべてのリソースに対しても適用しようというもの。画像、JavaScript、CSSなどのリソースを一括してZIPで圧縮してひとつのファイルにしておき、これをダウンロードで提供する、というのが発想の根幹となる。HTTPリクエスト1回で必要になるすべてのリソースを取得できるようにしよう、というわけだ。Alexander Limi氏はこの取り組みを「Resource Packages」と呼んでいる。
Making browsers faster: Resource Packagesでは上記画像のような記述が紹介されている。同タグが記載されている場合、Resource Packagesに対応しているブラウザは指定されたURLからZIPファイルを取得して、その中身をリソースとして利用する。こうすることでリソースを取得するHTTPリクエストが1回で済むという寸法だ。
![]() |
![]() |
ZIPファイルの中身の例 |
マニフェストファイルの中身の例 |
この方法はブラウザ側での実装が簡単なうえ、サーバ側に変更を加える必要がない。既存のほかの高速化の方法と比較して即効性があり、そして現実的というわけだ。Mozillaの開発者はこの提案に前向きで、a proposal: resource packages to improve performanceによれば反応を見て、Firefox 3.7で実装したいと前向きな意見を発表している。サポートしていいないブラウザにはほとんど影響がないというのもポイントとなる。
高速化の取り組みはGoogleがSPDYを発表している。これはいわばセッションレスなHTTP層の下にセッションを活用する層を挟み込み、さまざまな側面から高速化しようという取り組み。Resource Packagesと比べてサーバ側もブラウザ側も対応が必要になる。
関連記事
- Firefox高速化報告、11月14日[2009/11/17]
- Firefox高速化報告、11月7日[2009/11/9]
- Firefox on Macは起動高速化、XP、Vista、Linuxは変わらず[2009/10/28]
- Firefox on Mac、コールドスタートで20%高速化[2009/10/5]
- Firefox起動高速化3.6で10%、3.7で20% - Win7は3.5が爆速[2009/9/8]
関連サイト
ヘッドライン
- 【コラム】FileMaker×PHPで作る、簡単・便利なWebアプリ 第49回 結果セットの取扱いに特化したクラス、FileMaker_ResultSet(2)[10:18 2/10]プログラミング
- CSS/HTMLリファレンスマニュアル、最新ブラウザ互換情報[09:00 2/10]JavaScript / CSS / HTML
- 【レビュー】BOOK REVIEW - 現場に振り回されるだけのSE人生がイヤならチカラをつけよう[09:00 2/10]SE力
- 【レポート】暗号2010年問題に向け「いつまでに何をすべきか」 - ベリサインが説明[08:00 2/10]セキュリティ
- ルネサス、RXファミリ第3弾としてモータ制御向け「RX62T」を製品化[07:00 2/10]エレクトロニクス
- Rambus、次世代携帯機器向けメモリ「モバイルXDR」を発表[21:16 2/9]エレクトロニクス
- Intel、基幹業務システム向け次世代プロセッサ「Itanium 9300」を発表[20:47 2/9]エレクトロニクス
- MicronとNanya、42nmプロセスを採用した2GビットDDR3を開発[20:07 2/9]エレクトロニクス
- ISSCC 2010 - 日立、1Gbpsあたり消費電力1mW以下のトランシーバ回路を開発[19:52 2/9]エレクトロニクス
- CSSを最適化する3つのツール[17:17 2/9]JavaScript / CSS / HTML










