これは一部の人には明らかかもしれませんが、私は疑問に思っています。なぜ、サイトのHost jQueryを Googleのサーバー に依存する必要があるのでしょうか。
これは、この方法で高速にロードされるためだけですか?
それの訳は:
GoogleのCDNからjQueryを使用するしない場合があるいくつかのシナリオがあります。
Webサーバーがクライアントと同じネットワークでホストされているイントラネットアプリケーションを構築する場合GoogleのCDN jQueryを使用している場合、ローカルネットワーク上のWebサーバーではなく、インターネットへの呼び出し。これにより、組織の帯域幅が増加し、速度が低下します。
アプリケーションをオフラインで実行したい場合。 (かなり最初の問題にリンクしています)開発環境で作業する必要がある場合(たとえば Bower で管理)、インターネットに接続せずにアプリケーションを動作させる必要がある場合があります(例:電車の中で:)
カスタマイズする必要がある場合。たとえば、特定のモジュールのみを使用するために Grunt を使用してライブラリをビルドする場合、または AMD名 を設定する場合
jQueryを必要とするSSLを介してページを提供する場合セキュリティの問題や警告を回避するために、SSLを介してJavaScriptとページを提供する必要があります。
また、 MicrosoftホストjQuery はCDNにあります。これは、GoogleがホストするjQueryの使用に匹敵する別の選択肢です。
この study by TJ VanToll は、jQueryをCDNからロードするよりも、他のスクリプトと連結する方が良いと確信しました。
その理由は、モバイルデバイスでのjQueryの取得に伴う遅延です。
「2012年、米国のモバイルネットワークでの平均RTT時間は344ミリ秒でした。この344ミリ秒は、すべてのHTTP要求(平均的なWebページで93になりました)だけでなく、すべてのDNSルックアップとTCP接続...平均RTTは向上していますが、現在のネットワークは物理学によって決定される理論的限界の小さな要素内にあるため、わずかな追加のゲインしかありません。」
また、彼は この投稿 Steve Soudersから、あなたが実際にいる理由を示していますキャッシュのメリットを得る可能性は低い CDNを使用することから:
「CDNプロバイダー、jQueryバージョン、およびプロトコルの使用(httpとhttps)の断片化により、CDNキャッシュヒットが発生する可能性は驚くほど低く、外部ドメインからのダウンロードは1つではなく3つ実行する可能性がありますラウンドトリップ(DNSルックアップ、TCP接続、およびHTTP GET)。 "
最大の利点はキャッシングです。理論は、訪問者がJavaScriptライブラリをロードしているサイト(たとえばGoogle CDNからjQueryなど)にアクセスした場合、Webサイトにアクセスすると、ライブラリは既にそのユーザーのブラウザキャッシュにあり、再度ダウンロードする必要がないというものです。これは理論的には素晴らしいですね。
ここと他の場所で共有される利点はすべて理論的です。 CDNを使用して、それが期待されるパフォーマンスの利点を提供するかどうかの詳細な分析に出会いました。 http://www.root777.com/appdev/does-using-google-libraries-api-cdn-give-you-performance-benefits
多くの人が考えていないように、GoogleにjQueryをホストさせない主な理由は、中国にいる場合はダウンロードしないことです。 Google CDNがホストする他の多くのスクリプト、フォントなどと一緒にブロックされます。中国の視聴者にリーチする必要がある場合は、常に自分のサーバーでホストされているフォールバックを使用するのが最善です。 中国でブロックされたGoogle APIS
ここで、「なぜすべきか...」と「なぜすべきではない...」に対するいくつかの良い答えがあります。
CDNからjQueryをロードしたい場合は、Googleに代替のリストを追加したいだけです。
しかし、要約すると、基本的にWebサイト/アプリケーションの全体的なパフォーマンスを改善しています。
Service WorkerでCDNを使用すると、コードを更新するたびにではなく、クライアントの有効期間に1回CDNをダウンロードできます。