Google jQueryがホストするライブラリ-何か良いことはありますか?


14

Google jQueryがホストするライブラリを使用することで、実際に触れるメリットはありますか?または、サーバーにダウンロードするだけですか?

これについてのあなたの意見は何ですか?


1
シンプルなGoogle検索では...答えを提供してきたwoul
サンフランシスコPresencia

回答:


18

Googleなどの外部CDNを使用してjQueryをホストすることには、2つの大きな利点があります。

  1. 速いです。それは確かにあなたのサイトよりも速く、おそらくあなたが自分でセットアップしたどのCDNよりも速いでしょう。
  2. すでにキャッシュされている可能性があります。多くのサイトはGoogleのCDNでもjQueryを参照しているため、以前に別のサイトにアクセスした場合、ダウンロードする必要さえありません。

潜在的な欠点:

  1. ドメインがブロックされることがあります(これは、中国のような場所ではかなり一般的です)。これを解決するには、ローカルフォールバックを使用します(方法についてはこちらをご覧ください)。
  2. バージョン番号の断片化は非常に大きいため、サイトの訪問者は多くの異なるバージョンがキャッシュされている場合がありますが、参照したバージョンはキャッシュされていない場合があります(最近の統計についてはこちらをご覧ください)。ただし、これは最初のページの読み込み時の問題です。

3
ローカルフォールバックの設定方法に関するリファレンスを投稿できますか?
スティーブンオステルミラー

1
Zistolenが以前指摘したように、もう1つの利点は、Webサイトの他のアセットと並行してダウンロードできることです。そうでなければ、この素晴らしい答えにもそれを追加したいと思うかもしれません。
nathangiesbrecht 14

それは少し誤解を招くです。ブラウザは、ホストされている場所に関係なく並行してアセットをダウンロードしますが、同じホストから一度にダウンロードするものの数には制限があります。
ティム・噴水

正直なところ、ここでもそこでもないので、スキップしました。ファイルは並行してダウンロードできますが、追加のDNSルックアップでもあります。さらに、これらのいずれかの時間の違いはとにかく無視できます。
DisgruntledGoat

けっこうだ。しかし、高速接続では、より多くの「パイプ」を使用できるため、合計ロード時間が短縮されませんか?
nathangiesbrecht

11

別の欠点:

CDNを使用すると、CDNのオペレーターはサイト訪問者を追跡できます。それが彼らにお金がかからない理由です。


訪問者ではなく、確かな追跡:jquery自身とgoogleのjquery CDNは両方とも、Cookieを設定または使用しないドメインでホストされます(これはおそらくパフォーマンスの最適化でもあります)。リクエストには実際に識別可能な情報はありません。CDNプロバイダーは、IPアドレスと、ユーザーエージェント文字列とリファラーに関する統計についてのアイデアを得ることができます。これはおそらく価値がありますが、それ自体は大きなプライバシーリスクではありません(これらのレコードが別のデータベースと関連付けられている場合(たとえば、同じ時間にパーソナライズされた広告が配信される場合)、おそらく追跡の手段になる可能性があります)。
イーモンネルボンヌ14

ほとんどの人がgoogleを使用して常に検索しているため、データは他のデータベースと相関していることは当然だと思われます(googleの場合)。Googleフォントについても同じことです。最近、サーバー上でフォントをセルフホストしようとしましたが、それを行うのは非常に難しいことがわかりました。Googleはそれを禁止していません(オープンソース)が、すぐに使用できる方法でファイルを提供するわけではありません。自分でコンパイルすることはできます(ただし、メイクファイルはありません)。通常の配信に使用されるサーバー。どちらも非技術者にはできません。
ヨスト14

おそらく。私は内部情報を持っていないので、確実に言うのは難しいです。バグがあり、大きなギャップがあると確信していますが、インターネットを使用するほとんどの場所はNATで接続されており、同様のマシン(おそらく同一のUAストリング)を使用するユーザーがかなりいます-どのマシンかを知ることは不可能です要求は誰から来ます。そしてもちろん、アドセンスとソーシャル共有ボタンを使用すると、ほとんどの場合、より信頼性の高い手段が提供される可能性があるため、これらのボタンは気にしないと想像できます。フォントについては-何回かダウンロードしたので、これが難しいことの意味がよくわかりませんか?
イーモンネルボンヌ14

明確にするために、あなたが行うウェブサイトの訪問の大部分は、ソーシャル共有ボタン(非常に普及している)とほぼどこにでもある広告によって、大規模な統計収集者によって追跡可能であり、追跡されると想定しています。したがって、キャッシュされたjsリクエストからの誤解を招く可能性のある情報がどれほど価値があるのか​​と思うだけです。
イーモンネルボンヌ14

思ったほどキャッシュされていません-fonts.googleapis.comへのCSSリンクを挿入することでgoogleが好む方法でフォントを埋め込むと、すべてのページビューがgoogleへの接続を開きます(Firebugで表示できます)。キャッシュされているかどうかは関係ありません。ダウンロードについて:高品質のeot、woff、ttf、svg形式のフォントをダウンロードできる場所を教えてもらえますか(Googleが提供する同じバージョンで、外部コンバーターはありません)。
ヨスト14

3

CDNを使用して本質的にこのような多くのサーバー間で依存関係を分割することは、パフォーマンスのみに注意を払うことを前提として、帯域幅と待機時間のトレードオフを表します。

ちなみに、代替案は単にローカルでホストするのではなく、別のローカルリクエストと連結することを想定しています。通常、可能な場合に連結しない理由はありません。

帯域幅が無限の場合は、シャーディングではなくベストです。なぜなら、最も遅いサービスと同じくらい遅くなるからです-十分なサービスでレイテンシが完全に予測できないため、たとえ高速であっても、ほんの少し必要です遅いページの読み込みを引き起こす不運。

遅延が0の場合、負荷を多くのサーバーに分散させると、多くのサーバーを使用して帯域幅を改善できます(帯域幅の制限はサーバーではなくクライアントの近くにある可能性が高いため、あまり役に立ちません)。キャッシングの効果を少し高めることにより。

それはあなたのシナリオに依存しますが、スクリプトが非常に巨大でない限り(jqueryはそうではありません)、一般的にレイテンシは帯域幅よりも問題になると予想しています。その時点では、通常、連結されたローカルファイルの一部としてjqueryをホストする方が高速です。

ローカルでホストしない理由は、たとえば帯域幅の支払い、または低速サーバーでホストしている場合(クライアントへの接続がクライアントではなく側でボトルネックになっている)、またはクライアントの帯域幅が本当に低いことを知っている場合です。 (たとえば、ローエンドのDSLまたはモデムは、モバイルでは帯域幅の問題よりも待ち時間の問題が多い傾向があります)、またはクライアントが帯域幅の支払いをする場合(例:モバイル)、スクリプトはその重要な部分であり、マイナーなキャッシュが重要です)。

いずれの場合でも、基本を最初に説明したかどうかがはるかに重要になります。適切なキャッシュヘッダー、連結、縮小、およびgzip圧縮(圧縮率が高いことが望ましい)。そして、ここに核心があります:あなたがそうしないならば、少なくともCDNはそうするでしょう、それで勝利です...

TL; DR:連結+縮小+ gzipping +キャッシングをすべてカバーしている場合、CDNのパフォーマンスは向上しますが、小さなスクリプトをローカルで提供する方がCDNよりも高速です -ただし、最初のページではなく宿題をした場合のみロードし、このルールには間違いなく例外があります。


ちなみに、1つのリクエストを使用するだけでバイトシェービングを獲得できます。ヘッダーだけで1キロバイト近くになり、28キロバイトのペイロードでは何もありません。gzipはより多くのコンテキストでよりよく機能し、さらに0.5k節約されます。TCP、DNS、HTTPSのオーバーヘッドにより、KBがどこにでも簡単に追加され、さらに悪いことに、RTTが追加されます。そのため、このような小さなファイルの場合、CDNは思ったほど高速ではありません。
イーモンネルボンヌ14

1

GoogleのjQueryホストライブラリを使用すると、ページの読み込みが高速化されます。実際、ライブラリはページの読み込み後ではなく、同時に読み込まれます。


しかし、それはどのようにページの読み込みに影響しますか?
レオ

1
ページのロード中にローカルライブラリもロードされます-どちらの場合も、(最新の)ブラウザーがダウンロードをトリガーするコードスニペットを見るとアセットのダウンロードが開始されます。これは通常、ドキュメント全体がダウンロードされる前に発生します。例については、このFirebugのスクリーンショットを参照してください
2014
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.