ホストされるスクリプトの長所と短所[非公開]


12

一部の開発者がホストされたスクリプトを使用してライブラリをリンクするのを見てきました。

cdn.jquerytools.org 一例です。

また、ホストされたスクリプトリンクがハイジャックされたことに不満を言う人もいます。

ホストされたスクリプトを実際に使用するのは安全ですか?スクリプトは自動的に更新されますか?たとえば、jQuery 5が6になった場合、バージョン6が自動的に取得されますか、それともリンクを更新する必要がありますか?

また、Googleにはホスティング用のこれらのスクリプトセットが多数あることがわかります。

長所と短所は何ですか?

回答:


11

長所

  • スクリプトの読み込みが速くなります。単一のドメインからロードする必要のあるリソースが豊富にある場合、通常はブラウザーがこれをボトルネックにして、同じホストへの並列リクエストが少数になるようにします。したがって、16個の個別のスクリプト、複数の画像、および複数のCSSドキュメントを読み込む場合、各リソースが順番に読み込まれるのを待機するときにキューが作成されます。(CSSファイルとJavascriptファイルの連結を確実に検討してください。2つのスクリプトリソースのみをロードすると、大幅に高速になります)。
  • ただし、これらのリソースを別のドメインにスピンオフする場合、ブラウザーはそのサーバーへの追加接続を開く問題を抱えません。つまり、より多くのリソースが同時にロードされ、ページの実行が高速化されます。また、ページの読み込みの一部を別のサーバーで処理することもできます。これは、おそらくいくつかのスクリプト実行要求をそのまま処理しているサーバーに適しています。
  • さらに、これらのCDNサーバー(コンテンツ開発ネットワーク)は CDN として動作するように構成されてます。それらは通常、Cookieを使用せず(パケットサイズが小さい場合)、非常に軽量なサーバーでセットアップされ、リソースの提供と一般的に使用されるリソースのキャッシングに完全に関与します。 Apacheサーバーが実行されます。
  • GoogleやAkamiのようなCDNを使用することには他の利点もあります。特にGoogleには世界中にサーバーがあり、そのルーティングシステムはリソースのリクエストと存在する最も近い地理的コピーを組み合わせるのに十分スマートです。サーバーがロシアのウラジミールにjQuery.jsを提供しようとしている可能性があります。おそらく、Googleはウラジミールと同じ場所に同じリソースを持っているので、待ち時間が短縮されます。
  • また、非常に多くのWebサイトがこれらのCDNを既に使用しているため、提供しているリソースがユーザーによって既にキャッシュされている可能性が高くなります。サーバーのjQuery.jsとGoogleのサーバーのjQuery.jsは、まったく同じであっても同じファイルとして扱われません。Googleからロードすると、以前のサイトからキャッシュされたコピーを使用できます。ユーザーが訪問した。
  • 特にJavascriptフレームワークのようなスクリプトリソースの場合、ファイル自体は変更されません。新しいバージョンがリリースされた場合、Googleは(バグがいかに凶悪なものであっても)具体的には古いバージョンをホストし続け、CDNが正常に動作し続け、悪いリクエストを処理しないようにします。これが、CDNファイルの末尾に適切なバージョン番号が付いている理由です。

短所

  1. CDNが利用できない可能性があります。ただし、おそらくあなたのサイトがダウンするよりもチャンスは少ないでしょう。GoogleやAkamiなどの大規模なCDNには、複数のフェールオーバー層があります。
  2. 独自のサーバーからロードするリソースが1つまたは2つしかない場合、新しい接続を作成しても価値がない場合があります。
  3. 提供されているファイルを制御することはできません。そのため、独自のCDNに料金を支払わない限り、jQueryのカスタムバージョンまたはその他のロードしようとしているものを使用することはできません。

セキュリティ

このEl Stack投稿に加えて、主題のかなりの量のGoogleをお勧めします。各CDNは異なりますが、簡単に言えば、これはささいな問題ではないと思います。


1

誰も言及していないことは、Googleのもう1つの追跡オプションです。理由もなく、これらすべてのサービスを無料で提供しているわけではありません。AdSenseとAnalyticsで十分であり、少なくともそれらはフィルタリングできます。それは私の本の大きな欠点です。


0

長所:

  • ファイルの提供に関連する帯域幅に料金を支払う必要はありません。通常は

短所:

  • あなたはあなたが使用しているホスティングプロバイダーの利用可能性に左右されます(何らかの理由でダウンした場合、あなたもダウンします)。
  • ホスティングプロバイダーが持っているスクリプトのバージョンを強制的に使用した

CDNを使用することには他にも利点がありますが、3番目のスクリプトホスティングサービスの使用に直接関係するわけではありません。


0

ベストプラクティスに関する限り、ページの読み込みを最適化するための一般的なアプローチは、Jarrodが述べたように単一ドメインへの接続数が制限されているため、すべてのJSリソースをバンドルすることです。

Jarrodが指摘したように、CDNがそのようなミックス、特に人気のあるミックスにもたらすことは、ユーザーがすでにURLにアクセスしており、接続を確立することなくクライアントのキャッシュからすぐにJSリソースを取得できることです。

そのため、すべてのCDNを使用し、ベストプラクティスを採用している場合、ユーザーが最初にURLにアクセスするときに追加の約10〜50 KBを取得し、ページをより速く読み込むことができます。

2つの理由でCDNを使用することを強くお勧めします。Jarrodが言及した短所は真実ですが、まったく重要ではないことと、すでにソースを単一のドキュメントにバンドルしている場合、バンドルされたリソースの1つを更新するたびにドキュメント(〜33KB)。

それがあなたにとってどれほど重要かは分かりませんが、巨大なユーザーベースでは、帯域幅の大幅な削減と大幅な節約につながります。ボットは、ポルノのストリーミングやビールの購入など、より差し迫った問題に転換できます


-2

やってはいけない

個人的には、第三者がホストするスクリプトに依存しません。他の人のスクリプトを活用するなら、あなたは彼らの慈悲にかかっています。考慮すべき事項がいくつかあります。

  1. サイトがダウンすると、ページがタイムアウトまたはエラーになる場合があります。
  2. 彼らが廃業し、ホスティングをオフにすると、すべての機能が失われます
  3. ハッキングされた場合、ハッキングされる可能性もあります。
  4. クロスサイトスクリプティングはSSL証明書で大混乱を招く可能性があります
  5. ページの読み込み時間は劇的に増加する可能性があります
  6. インターフェイスが変更された場合、すべての関数呼び出しを変更する必要があります

自分のサイトでコードをホストする方が安全です、信頼してください。一度停止するだけで、構築してホストした250のWebサイトがおかしくなり始めるのは、動作を停止した3番目の部分のホストスクリプトに依存したためです。


1
大きくて信頼できるCDNを使用すれば、多くの懸念に直面することはないでしょう。1.)GoogleのCDNの稼働率は非常に良好であると予想されます。2。)Googleはすぐに廃業することはありません。3)もっともらしいですが、非常に高速なパッチ適用/修正が期待されます4 。)問題が発生していない5.)かなりのCDNである場合、ページの読み込みは実際に(パイプライン化、マルチサイトキャッシング、Cookieレスドメイン間で)おそらくあなたが提供できるものよりも速いはずです。 jQueryのようなコアバージョンのライブラリは問題になりません。
scunliffe

1
...また、リモートCDNのスクリプトが失敗しても、独自のフォールバックスクリプトの実装を止めることはできません。
scunliffe

ケープコッドガニーが挙げたこれらの理由はどれも、Googleのような現代のCDNや、他の多くの大手CDNプロバイダーに対する有効な懸念事項ではありません。
ジャロッドネトルズ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.