Web では、i.domain.com などのサブドメイン上の画像や情報専用のサブドメインを持っているサイトがあることに気付きました。これの利点は何だろう?と思いました。このタイプの「メソッド」に名前はありますか? これに関する詳細情報はどこで入手できますか? ありがとう。
7 に答える
イメージ/スクリプトのダウンロードの並列化。
一部のブラウザでは、特定のドメインに対して一度に 2 つの同時接続しか開かれません。ダウンロードするイメージ/スクリプトが 20 個ある場合、一度に取得できるのは x10 の 2 つだけです。異なるドメイン (サブドメイン) を使用すると、同時ダウンロードの量を増やすことができます。
例として、StackOverflow は画像を i.stackoverflow.com の下に配置して速度を向上させます。
編集
Richard が (コメントで) 指摘したように、HTTP 仕様では 2 つの同時接続制限を強く推奨しています。
'私。' チャドが説明した理由から、画像によく使用されます。'i' の下に画像を配置するという点で、もう少し作業が必要です。イメージが干渉することなく、メイン ドメインからさらにいくつかのリクエストが送信されるようにします。
特に、外部の <script>(*) を含めるたびに、スクリプト ファイルがフェッチされて実行されるまで、ブラウザーはスクリプトの下のページの残りのレンダリングをブロックする必要があります。スクリプト要素の上に 20 個の画像がある場合、それらはすべて既にキューに入れられており、スクリプト要素の前にフェッチされる可能性があり、ページのレンダリングに大きな遅延が発生します。
スクリプトなどの重要なリソースに別のホスト名 (同じドメイン内であっても) を使用すると、イメージ リクエストによって、より重要なスタイルシートやスクリプト リソースのパイプラインが詰まることはありません。代わりに、それらは並行して発生します。
さらに、もちろん、画像やビデオ ファイルなどの他の大きなリソースに別のホスト名を使用することで、将来的にそれらを 2 台目のサーバーに移行することができます。
(*: <script defer> を使用する場合を除きますが、これはめったに使用されず、グローバルにサポートされていません。)
より多くの同時ブラウザー接続に加えて、静的コンテンツ (画像、CSS、Javascript) は、新しいサブドメインを必要とするCDNに委任されることがよくあります。
m.cnn.com は、モバイル デバイスに便利です。入力を節約します。
特定のリソースに個別のサブドメインを使用する理由はいくつかあります。
並列ダウンロード HTTP仕様では、同時接続の数が2つの接続に制限されています。
持続的接続を使用するクライアントは、特定のサーバーに対して維持する同時接続の数を制限する必要があります(SHOULD)。シングルユーザークライアントは、サーバーまたはプロキシとの接続を2つ以上維持するべきではありません(SHOULDNOT)。
ただし、ほとんどのブラウザはサーバーごとに3つ以上の同時接続をサポートしていますが、制限があり、リクエストを分散すると、全体としてより多くの同時接続が可能になります。
静的コンテンツ 画像、スタイルシート、およびスクリプトはほとんど静的コンテンツであるため、静的コンテンツの提供に特化した別のサーバーに交換できます。したがって、サーバー側の言語を処理するために不要にロードされたモジュールが、サーバーによるコンテンツの配信を妨げることはありません。
Cookieのないサブドメイン Cookieは便利ですが、有効なすべてのリクエストで送信されるため、不要なトラフィックが発生する可能性があります。したがって、Cookieを
www.
サブドメインのみに制限することをお勧めします。
より役立つスピードアップのヒントについては、 Yahoo!のWebサイトをスピードアップするためのベストプラクティスを参照してください。
静的コンテンツ (画像、スクリプト、スタイルシートなど) には Cookie を使用しないサブドメインを使用できます。
静的コンテンツは Cookie を必要としないため、Cookie の送受信は単に帯域幅を無駄にします。
また、別のサブドメインにあるコンテンツへのアクセスを管理するのにも役立ちます.i.yoursite.comのすべてのコンテンツはwww.yoursite.comによってのみリンクできると安全に想定できるためです.
たとえば、Apache の場合、サブドメインのルートにある画像へのアクセス権を定義するいくつかの単純なルールを使用して、単一の .htaccess を配置できます。