Yahoo!のパフォーマンス担当責任者Steve Souders氏によるサイトのパフォーマンス向上のためのルールが書かれた本がすばらしい。
これまでWebサイトの高速化といえば、トポロジーやサーバーのパフォーマンスを中心とした「バックエンド側の対策」が主に語れててきていたが、この本はフロントエンド側の具体的対策が書かれている。しかも、どれも個人でも対応できる対策ばかりなのだ。(唯一ルール2CDNは無理だが)
目次
A章 フロントエンドのパフォーマンスの重要性
A.1 ウェブページのパフォーマンスを追跡する
A.2 時間はどこで使われたのか?
A.3 パフォーマンス改善の鉄則B章 HTTPの概要
B.1 圧縮
B.2 条件付きGETリクエスト
B.3 Expiresヘッダ
B.4 Keep-Alive
B.5 参考資料1章 ルール1:HTTPリクエストを減らす
1.1 イメージマップ
1.2 CSSスプライト
1.3 インライン画像
1.4 スクリプトおよびスタイルシートの結合
1.5 まとめ2章 ルール2:CDNを使う
2.1 コンテンツデリバリネットワーク
2.2 節減の効果3章 ルール3:Expiresヘッダを設定する
3.1 Expiresヘッダ
3.2 max-ageとmod_expires
3.3 キャッシュの有無の比較
3.4 画像以外にも適用可能
3.5 ファイル名にバージョンを付加する
3.6 例4章 ルール4:コンポーネントをgzipする
4.1 圧縮の通知
4.2 圧縮の対象
4.3 圧縮による減量
4.4 圧縮の設定
4.4.1 Apache 1.3の場合(mod_gzip)
4.4.2 Apache 2.xの場合(mod_deflate)
4.5 プロキシによるキャッシュ
4.6 エッジケース
4.7 gzipの効果5章 ルール5:スタイルシートは先頭に置く
5.1 プログレッシブ・レンダリング
5.2 sleep.cgi
5.3 「からっぽの白い画面」現象
5.3.1 CSSがページの最後にある場合
5.3.2 CSSがページの最初にある場合
5.4 「FOUC」現象
5.5 フロントエンド・エンジニアはどうすべきか6章 ルール6:スクリプトは最後に置く
6.1 スクリプトに関する問題
6.2 並列ダウンロード
6.3 スクリプトによってダウンロードが中断される場合
6.4 最悪のケース:スクリプトが一番上で読み込まれる場合
6.5 最善のケース:スクリプトが一番下で指定されている場合
6.6 まとめ7章 ルール7:CSS expressionの使用を控える
7.1 CSS expressionによる更新処理
7.2 問題への対処
7.2.1 1回限りのCSS expression
7.2.2 イベントハンドラ
7.3 まとめ8章 ルール8:JavaScriptとCSSは外部ファイル化する
8.1 インラインか外部ファイルか
8.1.1 単純な比較ではインラインの方が速い
8.1.2 ページビュー
8.1.3 キャッシュが空かキャッシュ済みか
8.1.4 コンポーネントの再利用
8.2 実際のサイトにおける典型的な例
8.3 ホームページ
8.4 両方のよいところをとる
8.4.1 onload後にダウンロード
8.4.2 動的なインライン化9章 ルール9:DNSルックアップを減らす
9.1 DNSのキャッシュとTTL
9.1.1 DNSキャッシュに影響を与える要因
9.1.2 TTL値
9.2 ブラウザの視点から見たDNSキャッシュ
9.2.1 Internet Explorer
9.2.2 Firefox
9.3 DNSルックアップ回数の削減10章 ルール10:JavaScriptを縮小化する
10.1 縮小化
10.2 難読化
10.3 削減効果
10.4 例
10.5 補足事項
10.5.1 インラインスクリプト
10.5.2 gzipと縮小化
10.5.3 CSSの縮小化11章 ルール11:リダイレクトを避ける
11.1 リダイレクトの種類
11.2 リダイレクトによるパフォーマンスの低下
11.3 リダイレクトの代替策
11.3.1 末尾のスラッシュの欠如
11.3.2 ウェブサイトの連結
11.3.3 内部トラフィックの追跡
11.3.4 外向きトラフィックの追跡
11.3.5 覚えやすいURL12章 ルール12:スクリプトを重複させない
12.1 スクリプトの重複は起こりがち
12.2 スクリプトの重複によるパフォーマンス低下
12.3 スクリプトの重複を防ぐ13章 ルール13:ETagの設定を変更する
13.1 ETagとは何か
13.1.1 Expiresヘッダ
13.1.2 条件付きGETリクエスト
13.1.3 最終更新日
13.1.4 エンティティタグ(ETag)
13.2 ETagの問題点
13.3 ETagは使い込むか削除する
13.4 ETagの使用実態14章 ルール14:Ajaxをキャッシュ可能にする
14.1 Web 2.0とDHTMLとAjaxの関係
14.1.1 Web 2.0
14.1.2 DHTML
14.1.3 Ajax
14.2 非同期ならば必ず速いか
14.3 Ajaxリクエストの最適化
14.4 Ajaxをキャッシュ可能にする具体的方法
14.4.1 Yahoo! メール
14.4.2 Googleスプレッドシート15章 米国トップ10サイトの分析
15.1 ページ容量、応答時間、YSlow評価
15.2 ページ評価の方法
15.3 Amazon
15.4 AOL
15.5 CNN
15.6 eBay
15.7 Google
15.8 MSN
15.9 MySpace
15.10 Wikipedia
15.11 Yahoo!
15.12 YouTube
特に、スタイルシートやJavaScript、gzip圧縮など、すぐに効果が出るルールが満載で、文章もシステム管理者ビギナーでもわかりやすい。この3年で、Webサーバー運営者にとって読むべき本のナンバー!といってもいいだろう。
・oreilly.co.jp — Online Catalog: ハイパフォーマンスWebサイト
・ハイパフォーマンスWebサイト サポートページ — 目次
![Reblog this post [with Zemanta]](http://img.zemanta.com/reblog_e.png?x-id=fc3e2954-de2e-4bcf-990c-de83d7ef818a)












1件のコメント
やっぱ無駄を省くためにできるだけCSSを利用するのがいいようですね
[Reply]
1件のTrackback/Pingback
ハイパフォーマンスWebサイト
ハイパフォーマンスWebサイト ―高速サイトを実現する14のルール
米Yahoo!のパフォーマンス担当責任者だったSteve Soudersさんが書いたウェブサイトを高速化させる本です。
Steve SoudersさんはYS…
コメントをどうぞ