ネットワークレベルでファイルをキャッシュすることでWebページを高速化
CDNは「コンテンツ配信ネットワーク」の略で、多くのWebページで広く使用されているスクリプトやその他のコンテンツを持つコンピュータシステムです。 CDNは、コンテンツがネットワークノードにキャッシュされることが多いため、 Webページのスピードアップに非常に効果的です。
CDNのしくみ
- Webデザイナーは、CDN上のファイル(jQueryへのリンクなど)にリンクします。
- 顧客は、jQueryも使用する別のWebサイトにアクセスします。
- そのバージョンのjQueryを誰も使用していなくても、顧客が1番のページに来ると、jQueryへのリンクはすでにキャッシュされています。
しかしそれにはそれ以上のものがあります。 コンテンツ配信ネットワークは、ネットワークレベルでキャッシュされるように設計されています。 したがって、顧客がjQueryを使用して別のサイトを訪問しなくても、同じネットワークノード上の誰かがjQueryを使用してサイトを訪問した可能性があります。 したがって、ノードはそのサイトをキャッシュしています。
また、キャッシュされたオブジェクトはすべてキャッシュからロードされ、ページのダウンロード時間が短縮されます。
商用CDNの使用
多くの大規模なウェブサイトでは、Akamai Technologiesのような商用CDNを使用して世界中のWebページをキャッシュしています。 市販のCDNを使用しているWebサイトも同じように動作します。 最初にページが要求されると、それは誰でも、Webサーバーから構築されます。 しかしそれはまた、CDNサーバーにもキャッシュされます。 次に、別の顧客が同じページに来ると、最初にCDNがチェックされ、キャッシュが最新であるかどうかが判断されます。 そうであれば、CDNはそれを配信し、それ以外の場合は、それをサーバに再度要求し、そのコピーをキャッシュする。
商用CDNは、大規模なWebサイトでは数百万のページビューを取得するのに非常に便利なツールですが、小規模なWebサイトではコスト効率が悪い場合があります。
小規模なサイトでもCDNをスクリプトに使用できます
サイト上でスクリプトライブラリやフレームワークを使用している場合、CDNから参照することは非常に便利です。 CDNで利用できる一般的に使用されているライブラリには、次のものがあります。
- クロームフレーム
- Dojoツールキット
- Ext JS
- jQuery
- jQuery UI
- MooTools
- プロトタイプ
- Script.actulous
- swfObject
- Yahooユーザーインターフェイス(YUI)
また、ScriptSrc.netはこれらのライブラリへのリンクを提供しているので、覚えておく必要はありません。
小規模なウェブサイトでは、無料のCDNを使用してコンテンツをキャッシュすることもできます。 あなたが使用できるいくつかの良いCDNがあります:
- クラウドフレア
- コーラルCDN
- トラフィックサーバー
コンテンツ配信ネットワークに切り替えるタイミング
Webページの応答時間の大部分は、イメージ、スタイルシート、スクリプト、FlashなどのWebページのコンポーネントをダウンロードするのに費やされます。 できるだけ多くの要素をCDNに置くことで、応答時間を大幅に改善することができます。 しかし、私が言及したように、市販のCDNを使うことは高価になる可能性があります。 さらに、細心の注意を払わない場合は、小さなサイトにCDNをインストールするとスピードアップするのではなく、スピードを遅くすることができます。 多くの中小企業は変化を躊躇しています。
あなたのウェブサイトやビジネスがCDNの恩恵を受けるのに十分な大きさであることが示されています。
- あなたのサイトは毎日多くの訪問者を獲得します
- それらの訪問者は広く分布している地域から来ている
ほとんどの人は、1日に少なくとも100万人の訪問者がCDNの恩恵を受ける必要があると感じていますが、設定された番号はないと思います。 日々のページビューが100万人を下回っていても、多くのイメージやビデオをホストしているサイトでは、それらのイメージやビデオのCDNを利用することができます。 CDN上でホストされることにより利益を得ることができる他のファイルタイプは、スクリプト、フラッシュ、サウンドファイル、およびその他の静的ページ要素です。