HTTPリクエストの数を減らそう!

HTTP リクエストの数を減らすための具体的な方法と対応を考えてみる。

パッと思いつくのは、こんな感じ?

  • 分散している JavaScript / CSS を一ファイルにまとめる
  • 画像ファイルを減らす
  • できるだけクライアントにキャッシュさせて、ファイル要求を減らす

JavaScript / CSS を一ファイルにまとめる

WordPress に各種プラグインを導入すると、どうしても JavaScript / CSS は複数読み込まざるをえない。
また、Prototype.js などのフレームワークを利用して JavaScript を作っている場合も同様だ。
メンテナンス性を求めると、これらをすべて一つにまとめてしまうのはちょっと難しいので、これはとりあえず手をつけないでおく。

しかし、どうしても1ファイルにまとめたければ、YSlow for Firebug の機能で、サイト内の JavaScript / CSS をすべてまとめてくれる機能があるため、これを利用するのも手だろう。
YSlow for Firebug のメニューから [Tools] – [ALL JS] or [ALL CSS] を選択すると、すべてを一ファイルにまとめて表示してくれる。

画像ファイルを減らす

サイトデザインの都合上、CSS で結構な数の背景画像ファイルを読み込んでいる。
著者ごとのタイトルイメージやら、小さなアイコンファイルやらで、全部で 30 にもなる。

で、これらをまとめる手法として CSS Sprites と呼ばれるテクニックがある。
要は、複数の画像ファイルを一つにまとめて background-position: で大きな画像ファイルの中から、必要な箇所を切り出してしまおうと言う手法だ。
最近、はてなブックマークでホッテントリ入りしていた記事「Googleの検索結果ページは画像を一つしか読み込んでいない (polog)」なんかも、実はこのテクニック。

これを一からやってると結構シチ面倒くさいのだが、Stoyan Stefanov氏が提供してくれている Web サービス CSS Sprites generator を使えば、簡単に実現できてしまう。

で、CSS Sprites generator を使って作成した画像に多少手を加えたのが、これこれ
CSS 中で30個あった背景画像ファイルを、4個にまで減らすことができた。

できるだけクライアントにキャッシュさせて、ファイル要求を減らす

この辺の対応は「Expiresヘッダーを追加しよう」や「ETagを正しく設定する!」とも絡んでくるので、次回にまわしたいと思う。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください