171

これは明らかな人もいるかもしれませんが、疑問に思っていたのは、なぜ自分のサイトの jQuery をホストするためにGoogle のサーバーに依存しなければならないのかということです。

この方法でロードが速くなったからですか?

4

7 に答える 7

397

それの訳は:

  1. これにより、使用可能な並列処理が増加します。
    (ほとんどのブラウザは、特定のサイトから一度に 3 つまたは 4 つのファイルしかダウンロードしません。)

  2. これにより、キャッシュ ヒットが発生する可能性が高くなります。
    (より多くのサイトがこのプラクティスに従っているので、より多くのユーザーが既にファイルの準備ができています。)

  3. ペイロードが可能な限り小さくなるようにします。
    (Google では、ファイルをさまざまな形式 (GZIP や DEFLATE など) で事前に圧縮できます。これにより、非常に圧縮されており、その場で圧縮されないため、ダウンロードにかかる時間が非常に短くなります。)

  4. サーバーが使用する帯域幅の量を減らします。
    (Google は基本的に無料の帯域幅を提供しています。)

  5. これにより、ユーザーは地理的に近い応答を得ることができます。
    (Google は世界中にサーバーを配置しているため、待ち時間がさらに短縮されます。)

  6. (オプション)スクリプトは自動的に最新の状態に保たれます。
    (「パンツの席で飛ぶ」のが好きなら、彼らが提供するスクリプトの最新バージョンをいつでも使用できます。これらはセキュリティホールを修正する可能性がありますが、通常はあなたのものを壊すだけです. )
于 2010-02-01T22:03:30.900 に答える
59

Google の CDN から jQuery を使用したくないシナリオがいくつかあります。

  1. Web サーバーがクライアントと同じネットワーク上でホストされているイントラネット アプリケーションを構築している場合。 Google の CDN jQuery を使用すると、ローカル ネットワーク上の Web サーバーではなく、インターネットに対して呼び出しを行うことになります。これにより、組織の帯域幅が増加し、速度が低下します。

  2. アプリケーションをオフラインで実行したい場合。(最初の問題にかなりリンクされています)開発環境(たとえばBowerで管理)で作業する必要がある場合、インターネットに接続せずに(つまり、電車の中で)アプリケーションを動作させる必要があるかもしれません:)

  3. カスタマイズする必要がある場合。たとえば、Gruntを使用してライブラリをビルドし、特定のモジュールのみを使用したり、AMD 名を設定したりする場合

  4. jQuery を必要とする SSL 経由でページを提供している場合。 セキュリティ上の問題や警告を回避するために、JavaScript とページを SSL 経由で提供する必要があります。

また、 Microsoft はCDN でjQuery をホストしています。これは、Google がホストする jQuery を使用することに匹敵するもう 1 つの選択肢です。

于 2010-02-01T22:50:26.097 に答える
29

TJ VanTollによるこの調査では、CDN から jQuery をロードするよりも、他のスクリプトと jQuery を連結する方がよいと確信しました。

その理由は、モバイル デバイスで 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)。」

于 2014-03-12T16:00:08.463 に答える
14

最大のメリットはキャッシュです。理論的には、訪問者が JavaScript ライブラリ (たとえば Google CDN から jQuery など) をロードしているサイトを訪問した場合、その訪問者が Web サイトを訪問したときに、ライブラリは既にそのユーザーのブラウザー キャッシュにあるため、再度ダウンロードする必要はありません。 . これは理論的には素晴らしいことです。

ここや他の場所で共有されている利点はすべて理論上のものです。CDN の使用と、それが期待されるパフォーマンス上の利点を提供するかどうかについての詳細な分析に出くわしました。 http://www.root777.com/appdev/does-using-google-libraries-api-cdn-give-you-performance-benefits

于 2012-03-21T15:25:34.480 に答える
8

Google に jQuery をホストさせない主な理由は、多くの人が考えていないことですが、中国にいると jQuery がダウンロードされないからです。Google CDN によってホストされている他の多くのスクリプト、フォントなどと一緒にブロックされています。中国の視聴者にリーチする必要がある場合は、独自のサーバーでホストされているフォールバックを常に使用することをお勧めします. 中国でブロックされたGoogle API

于 2016-07-31T13:18:37.703 に答える
0

Service Worker で CDN を使用すると、コードを更新するたびにではなく、クライアントの有効期間中に 1 回だけ CDN をダウンロードできます。

于 2018-11-16T13:19:40.880 に答える