[解決済み] Microsoft CDN for jQueryかGoogle CDNか?[クローズド]
質問
jqueryファイルやその他のjavascriptファイルへのリンクにどのCDNを使用するかは、実際に重要なのでしょうか。 一方が他方より速い可能性があるのでしょうか? どのCDNを使うかには、他にどんな要素が関係してくるのでしょうか? マイクロソフト、ヤフー、グーグルはすべてCDNを持っていることは知っています。
どのように解決するのですか?
コメントを元に更新。
ショートバージョンです。
それはあまり重要ではありませんが、それは彼らが何をホストしているかに依存するかもしれません。 彼らはすべて異なるものをホストしています。 GoogleはjQuery.Validateをホストしていません、MicrosoftはjQuery-UIをホストしていませんでした、2016年から彼らはしています!!、Microsoftは、そうでなければ経由で提供される彼らのスクリプトを提供します。
ScriptResource.axd
とより簡単に統合することができます(例
ASP.Net 4.0によるScriptManagerの利用
).
重要なお知らせです。 イントラネットのアプリケーションを構築している場合、CDNのアプローチには近づかないでください。 ホストしているのが誰であるかは関係ありません。 大変 CDNは、内部的に負荷の高いサーバーでは、ローカルの100mb/1GBイーサネット以上のパフォーマンスを提供することはできません。 もしあなたが厳密に内部的なアプリケーションのためにCDNを使用する場合は、次のようになります。 パフォーマンスを低下させる . キャッシュエクスペリエンスヘッダを正しく設定する で、イントラネットのみのシナリオではCDNを無視します。
どちらかがブロックされる可能性はほぼゼロに等しいと思われます。 そうでない契約にも携わったことがありますが、例外的なようです。 また、この回答の最初の投稿以降、これを取り巻く状況は大きく変化し、マイクロソフトのCDNは大きく進歩しました。
私が現在携わっているプロジェクトでは、両方のCDNを使用しており、私たちのソリューションに最適な形で機能しています。 これにはいくつかの要因があります。 ユーザーが 古いブラウザ は、おそらくまだドメインごとに2つの同時リクエストを行っています HTTPの仕様で推奨されているように . というまともな新しいものを実行している人にとっては問題ないでしょう。 パイプラインをサポートしています。 (しかし、別の要因から、少なくともjavascriptに関しては、この制限を打ち消すことにしました。
に使っているGoogleのCDN。
に使っているマイクロソフトのCDN。
- MicrosoftAjax.js
- MicrosoftAjaxWebForms.js (4.0までは、UpdatePanelを完全に削除することはできません)
- jQuery.Validate.min.js
私たちのサーバーです。
- Combined.js?v=2.2.0.6190 (Major.Minor.Iteration.Changeset)
ビルドプロセスの一部として、すべてのカスタムJavaScriptを結合して最小化しているため、ビルドに応じてこれらのスクリプトのリリースまたはデバッグ(非最小化)バージョンを含むカスタムスクリプトマネージャーでこれを行います。 GoogleはjQueryの検証パッケージをホストしていないので、これはマイナス面になる可能性があります。 MVCは2.0リリースでこれを含む/使用しているので、すべてのニーズに対してMicrosoftのCDNに完全に依存することができます。 と、ScriptManager を介してすべて自動で行われます。 .
もう1つの問題はDNS時間です。ページの読み込み速度の点でコストがかかります。
平均すると
単純に、より多く使われているから(より長く使われているから)。
ajax.googleapis.com
の方が早くDNSから返される可能性が高いです。
ajax.microsoft.com
, 単にローカルDNSサーバーの方がリクエストを受けやすかったからです(これはエリアペナルティのファーストユーザーです)。 これは
非常に
些細なことなので、ミリ秒単位のパフォーマンスが非常に重要な場合のみ考慮すべきです。
(はい: この点は私が両方のCDNを使用していることと相反すると認識していますが、私たちの場合、DNSの時間は発生するjavascript/ブロックの待ち時間に比べてはるかに影が薄いです)
最後に、もしあなたがまだ見ていないなら、最高のツールの1つが ファイアバグ と、そのプラグインをいくつかご紹介します。 ページスピード と YSlow . CDNを使用しているにもかかわらず、キャッシュヘッダーがないためにページが毎回画像を要求している場合、低いところにある果実を見逃していることになります。 Firebugのネットパネルでは、ページのロード時間の内訳を素早く知ることができ、ページスピード/YSlowでは、役立ついくつかの良い提案を提供してくれます。
関連
-
[解決済み】リクエストに失敗していないのに、「TypeError: failed to fetch」が表示される。
-
JSクリックイベント - Uncaught TypeError: プロパティ 'onclick' に null を設定できません。
-
[解決済み] jQueryで要素が非表示になっているかどうかを確認するには?
-
[解決済み] jQueryでチェックボックスに "checked "を設定する
-
[解決済み] なぜGoogleはJSONレスポンスにwhile(1);を前置するのでしょうか?
-
[解決済み] SQLiteのINSERT/per-secondのパフォーマンスを向上させる
-
[解決済み] jQueryの「exists」関数はありますか?
-
[解決済み] jQueryでテーブルの行を追加する
-
[解決済み] GoogleのホストされたjQueryを使用する最良の方法、しかしGoogleの私のホストされたライブラリにフォールバックすることは失敗します。
-
[解決済み】jQueryでチェックボックスがチェックされているかどうかを確認するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
親子コンポーネント通信を解決する3つのVueスロット
-
fetch ネットワークリクエストラッパーの説明例
-
Vueがechartsのtooltipにクリックイベントを追加するケーススタディ
-
HTML+CSS+JavaScriptで簡単な三目並べゲームを作成する。
-
vueのプロジェクトでモックを使用する方法を知っていますか?
-
Vueの一般的な組み込みディレクティブの説明
-
[解決済み】React Uncaught Error: 対象コンテナが DOM 要素でない [重複]。
-
フロントエンド非同期(アシンク)ソリューション(全ソリューション)
-
JavaScriptのgetElementById、getElementsByTagNam、getElementsByClassNameの違いと使い方
-
[解決済み] jQueryのインストールは?