コンテンツの効率を最適化する

ウェブ アプリケーションの範囲、目標、機能は拡大し続けています。これは良いことです。しかし、よりリッチなウェブへの絶え間ない進歩は、別のトレンドを推進しています。各アプリケーションによってダウンロードされるデータの量は、着実に増加し続けています。優れたパフォーマンスを実現するには、1 バイト単位で配信を最適化する必要があります。

モダンなウェブ アプリケーションとはどのようなものでしょうか。HTTP Archive は、この疑問に答えるのに役立ちます。このプロジェクトでは、最も人気のあるサイト(Alexa の上位 100 万サイトのリストから 30 万以上)を定期的にクロールし、各サイトのリソース数、コンテンツ タイプ、その他のメタデータに関する分析を記録して集計することで、ウェブの構築方法を追跡しています。

HTTP Archive のトレンド

50 パーセンタイル 75 パーセンタイル 90 パーセンタイル
HTML 13 KB 26 KB 54 KB
イメージ 528 KB 1,213 KB 2,384 KB
JavaScript 207 KB 385 KB 587 KB
CSS 24 KB 53 KB 108 KB
その他 282 KB 308 KB 353 KB
合計 1,054 KB 1,985 KB 3486 KB

上記のデータは、2013 年 1 月から 2014 年 1 月までのウェブ上の人気サイトのダウンロード バイト数の増加傾向を示しています。もちろん、すべてのサイトが同じ速度で成長するわけでも、同じ量のデータを必要とするわけでもありません。そのため、分布内の異なる分位数(50 番目(中央値)、75 番目、90 番目)をハイライト表示しています。

2014 年初頭の平均的なサイトは、75 件のリクエストで構成され、合計転送バイト数は 1, 054 KB に達しています。バイト数(およびリクエスト数)は、前年を通じて着実に増加しています。これ自体はそれほど驚くことではありませんが、パフォーマンスに重要な影響を及ぼします。インターネットの速度は向上していますが、国によって速度の向上率は異なり、多くのユーザーは依然としてデータ通信量の上限や高額な従量制プランの対象となっています(特にモバイル)。

デスクトップ アプリケーションとは異なり、ウェブ アプリケーションでは個別のインストール プロセスは必要ありません。URL を入力すればすぐに使用できます。これがウェブの重要な特徴です。しかし、これを実現するには、数十、場合によっては数百のさまざまなリソースを取得しなければならないことがよくあります。これらのリソースはすべて、合計で数メガバイトのデータになる可能性があり、数百ミリ秒以内に集約して、目指しているインスタント ウェブ エクスペリエンスを促進する必要があります。

これらの要件を考慮して、瞬時にウェブ エクスペリエンスを実現することは容易ではありません。そのため、コンテンツの効率を最適化することが重要です。不要なダウンロードを排除し、さまざまな圧縮技術を使用して各リソースの転送エンコードを最適化し、可能な限りキャッシュを活用して重複するダウンロードを排除します。