これは一部の人には自明かもしれませんが、疑問に思っていました。なぜ、サイトのjQueryをホストするために、Googleのサーバーに依存する必要があるのでしょうか。
それはこのように速くロードするためだけですか?
これは一部の人には自明かもしれませんが、疑問に思っていました。なぜ、サイトのjQueryをホストするために、Googleのサーバーに依存する必要があるのでしょうか。
それはこのように速くロードするためだけですか?
回答:
それの訳は:
GoogleのCDNからjQueryを使用したくない場合は、いくつかのシナリオがあります。
Webサーバーがクライアントと同じネットワークでホストされているイントラネットアプリケーションを構築している場合。 GoogleのCDN jQueryを使用する場合は、ローカルネットワーク上のWebサーバーではなく、インターネットを呼び出します。これにより、組織の帯域幅が増加し、速度が低下します。
アプリケーションをオフラインで実行する場合。(最初の問題にかなりリンクされています)開発環境で作業する必要がある場合(Bowerなどで管理)、インターネットに接続せずにアプリケーションを機能させる必要がある場合があります(例:電車内:)
カスタマイズする必要がある場合。たとえば、特定のモジュールのみを使用するため、またはAMD名を設定するために、Gruntを使用してライブラリをビルドする場合
jQueryを必要とするページをSSL経由で提供する場合。 セキュリティ上の問題と警告を回避するために、SSL経由のJavaScriptとページを提供する必要があります。
また、MicrosoftはjQueryをCDNでホストしています。これは、GoogleがホストするjQueryの使用に匹敵するもう1つの選択肢です。
src="//ajax.googleapis.com/..."
機能します。
TJ VanTollによるこの調査では、jQueryを他のスクリプトと連結する方が、CDNからロードするよりも優れていると確信しました。
その理由は、モバイルデバイスでのjQueryのフェッチに伴うレイテンシです。
「2012年の米国のモバイルネットワークでの平均RTT時間は344ミリ秒でした。その344ミリ秒は、すべてのHTTPリクエスト(平均的なWebページが93を生成する)だけでなく、すべてのDNSルックアップとTCP接続にも適用されます...平均的なRTTは改善していますが、現在のネットワークは物理学によって規定された理論上の限界の小さな要因の範囲内であるため、得られる追加の利益はわずかです。」
彼はまた、CDNを使用することでキャッシュのメリットが実際に得られない理由を示すSteve Soudersのこの投稿を引用しています。
「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をUsignすると、コードを更新するたびにではなく、クライアントの有効期間中にCDNをダウンロードできます。