私は、Google の ajax API ライブラリから Jquery ライブラリを含む多くの Web プログラマーを見てきました。「いくらかの」スペースを節約する以外に、サーバーでこれらのライブラリをホストしないことに本当の利点はありますか?. そうするのは良い習慣ですか?
4 に答える
Google に API をホストしてもらうことには、いくつかの利点があります。
- 遅延の減少
- 並列処理の増加
- より良いキャッシング
遅延の減少
CDN (Content Delivery Network の略) は、さまざまな物理的な場所にあるサーバーに静的コンテンツを配信します。ユーザーのブラウザーがこれらのファイルの URL を解決すると、ダウンロードはネットワーク内で利用可能な最も近いサーバーを自動的に対象とします。
Google の AJAX Libraries CDN の場合、これが意味することは、物理的にサーバーの近くにいないユーザーは、任意の場所にあるサーバーから強制的にダウンロードするよりも速く jQuery をダウンロードできるということです。
Google に匹敵する CDN サービスはいくつかありますが、無料の価格に勝るものはありません! このメリットだけで問題が解決する可能性がありますが、それ以上のメリットがあります。
並列処理の増加
サーバーが不必要に過負荷になるのを避けるために、ブラウザは同時に確立できる接続数を制限しています。ブラウザーによっては、この制限がホスト名ごとに 2 つの接続まで低くなる場合があります。
Google AJAX Libraries CDN を使用すると、サイトへの 1 つのリクエストが不要になり、より多くのローカル コンテンツを並行してダウンロードできるようになります。6 つの同時接続ブラウザーを使用しているユーザーには大きな違いはありませんが、2 つしか接続できないブラウザーをまだ実行しているユーザーにとっては、その違いは顕著です。
より良いキャッシング
Google AJAX Libraries CDN を使用する最大の利点は、ユーザーが jQuery をダウンロードする必要がまったくない可能性があることです。
サイトがどれほど最適化されていても、jQuery をローカルでホストしている場合、ユーザーは少なくとも 1 回は jQuery をダウンロードする必要があります。各ユーザーはおそらく、ブラウザーのキャッシュに多数の同一の jQuery のコピーを既に持っていますが、それらの jQuery のコピーは、サイトにアクセスしたときに無視されます。
ただし、ブラウザは、CDN でホストされている jQuery のコピーへの参照を確認すると、それらの参照がすべてまったく同じファイルを参照していることを認識します。これらすべての CDN 参照がまったく同じ URL を指しているため、ブラウザーはそれらのファイルが完全に同一であると信頼でき、ファイルが既にキャッシュされている場合にファイルの再要求に時間を浪費することはありません。したがって、ブラウザーは、CDN 参照が表示されるサイトに関係なく、ディスク上にキャッシュされた単一のコピーを使用できます。
これにより、CDN を使用するすべてのサイトが恩恵を受ける強力な「クロスサイト キャッシング」効果が生まれます。Google の CDN は、最大 1 年間ファイルをキャッシュしようとするヘッダーを含むファイルを提供するため、この効果には本当に驚くべき可能性があります。インターネット上で最もトラフィックの多い何千ものサイトが既に Google CDN を使用して jQuery を提供しているため、多くのユーザーが CDN を使用してサイトにアクセスするときに、jQuery に対して単一の HTTP リクエストを作成しない可能性は十分にあります。
Google がホストする同じバージョンの jQuery を使用して何百ものサイトにアクセスしたとしても、一度ダウンロードするだけで済みます。
企業が CDN を使用すべき 5 つの理由
コンテンツ配信ネットワークを使用する 7 つの理由
CDN はコンテンツ配信ネットワーク (ホストされたライブラリ) です
ただし、リモート ストアに障害が発生した場合に備えて、常にローカル キャッシュが必要です。( HTML5 ボイラープレートはこれを非常によく示しています):
<!-- Grab Google CDN's jQuery, with a protocol relative URL; fall back to local if necessary -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.js"></script>
<script>window.jQuery || document.write('<script src="js/libs/jquery-1.5.1.min.js">\x3C/script>')</script>
サイトにアクセスするユーザーが、ホストされている独自のバージョンではなく、Google のバージョンを既にキャッシュしている可能性がはるかに高くなります。(より速く、潜在的に)
ホストする必要はありません
キャッシュに対処する必要はありません(フォールバック アプローチを使用していて、Google のバージョンがダウンしていない限り)
ユーザーがヨーロッパにいて、サーバーがファーゴにある場合、Google のバージョンをより近いサーバーから引き下げる可能性が高くなります(より速く、潜在的に)。
帯域幅を節約します(支払い時にすべてのビットがカウントされます)
Html5Boilerplateを確認することをお勧めします。Google の CDN にアクセスできない場合に備えて、優れたフォールバック アプローチが実装されています。