ホームページ  >  記事  >  ウェブフロントエンド  >  多くの Web サイトがスタイル シート、画像、その他のリソースを独立したドメイン名で配置しているのはなぜですか? _html/css_WEB-ITnose

多くの Web サイトがスタイル シート、画像、その他のリソースを独立したドメイン名で配置しているのはなぜですか? _html/css_WEB-ITnose

WBOY
WBOYオリジナル
2016-06-24 12:14:001431ブラウズ

この問題は長い間私を悩ませてきました~~
ますます多くの大規模な Web サイトが、Web ページで使用される画像、スタイルシート、JS、その他のリソースを独立したドメイン名の下に配置することを好むことがわかりました。
これを行うメリットは何ですか?混乱を明確にしてくれる英雄はいませんか~
例:

中関村オンライン
zol.com.cn
zol-img.com.cn


ディスカッションに返信 (解決策)

盗難を防ぐためかもしれません

削減サーバーの負荷。画像リソースは依然として多くのサーバー リソースと帯域幅を消費します

これはサーバーの負荷分散のためです。
もちろん、サーバーの圧力が分離されており、比較的小さいため、ホットリンクを防ぐのにも非常に便利です。

ブラウザには、同じドメイン名に対するリンクの数に制限があります

ブラウザには、同じドメイン名に対するリンクの数に制限があります
誰が教えたのですか! ! !理解できない場合は、ナンセンスなことを話さないでください。

サーバーへの負荷を分散するために、異なるドメイン名の下に異なるリソースを置きます。

この場合、Web サイトへのアクセス負荷が高い場合、複数のサーバーが単一サーバーよりもはるかに大きな負荷に耐えることができます。

4 階の firebugdotname からの返信を引用します:
ブラウザには同じドメイン名へのリンクの数に制限があります

誰が教えたのですか! ! !理解できない場合は、ナンセンスなことを話さないでください。

サーバーへの負荷を分散するために、異なるドメイン名の下に異なるリソースを置きます。

この場合、Web サイトへのアクセス負荷が高い場合、複数のサーバーが単一サーバーよりもはるかに大きな負荷に耐えることができます。
+1

4 階の firebugdotname からの返信を引用します:
ブラウザには同じドメイン名のリンク数に制限があります

誰が教えてくれたのですか! ! !理解できない場合は、ナンセンスなことを話さないでください。

サーバーへの負荷を分散するために、異なるドメイン名の下に異なるリソースを置きます。

この場合、Web サイトへのアクセス負荷が高い場合、複数のサーバーが単一サーバーよりもはるかに大きな負荷に耐えることができます。


理解されず、「ナンセンス」と言われるのは本当に不快です。5 階では、ブラウザーが同じドメイン内のリソースのリクエストに対して一定数のリンクを維持することをご存知ですか? ajax を使用している場合は、同時に (非常に短期間に) リクエストが多すぎるとブロックされます。誤解しないでください。もちろん、サーバーの負荷を軽減するというあなたの意見には反対しません。

2 つのドメイン名が同じサーバーを指しているかどうかは誰にもわかりません。

理解されず、「ナンセンス」と言われるのは本当に不快です。5 階では、ブラウザーが同じドメイン内のリソースのリクエストに対して一定数のリンクを維持することをご存知ですか? ajax を使用している場合は、同時に (非常に短期間に) リクエストが多すぎるとブロックされます。誤解しないでください。もちろん、サーバーの負荷を軽減するというあなたの意見には反対しません。

わかりました

LZ は Yahoo フロントエンド最適化の 34 ルールを確認できます
YSlow などのプラグインを使用して Web サイトを評価することもできます

場合によっては、同じサーバー上に複数のドメイン名を割り当てることもあります最適化。ただし、ドメイン名が多すぎると DNS クエリが多すぎる可能性があるため、この方法は多くの場合悪用されません。


もちろん、大規模な Web サイトでは通常、画像や CSS などの静的リソースに対して CDN が有効になります。これは別の側面です。

主にウェブサイトのパフォーマンスを向上させるために、画像、CSS、JS ファイルを別のサーバー (リソース サーバー) に配置すると、CPU 負荷と帯域幅のバランスに役立ちます。 Web ページ内の HTML タグの href 属性や src 属性で IP アドレスを参照するのは不適切であるため(リソースサーバーの IP アドレスは変更される可能性があるため)、設定を容易にするためにリソースサーバーに独自のドメイン名を登録します。 href 属性と src 属性を完全に削除します。

たとえば、Web サイトはサーバー A に配置され、写真はサーバー B (202.123.16.8) に配置されます。A に Web ページがあり、あるタグの src 属性が src="202.123 に設定されています。 .16.8/images/1.jpg" 、将来的に B の IP アドレスが別のアドレスに変更されると、Web サイトのプログラムが正しく動作しなくなります。したがって、B に www.ziyuan123456.com などの独立したドメイン名を付け、このドメイン名が 202.123.16.8 を指すようにすると、src="http://www.ziyuan123456.com/images/1.jpg" で済みます。将来BさんのIPアドレスが変わった場合でも、ドメイン名をリダイレクトするだけでWebサイトのプログラムを変更する必要はありません。

ブラウザには同じドメイン名のリンク数に制限があります

up~~~~

より多くのユーザーが同時にページを開くことができるように、http リクエストの数と IIS リンクの数を減らしてください。時間も早くなります

5階 robakeさんからの返信引用:

4階 firebugdotname からの返信引用:



理解されずに「ナンセンス」と言われるのは本当に不快です、5階では知りませんか?ブラウザが同じドメインを扱うこと リソースの下のリクエストは一定数のリンクを維持しますか? ajax を使用している場合は、同時に (非常に短期間に) リクエストが多すぎるとブロックされます。誤解しないでください。もちろん、サーバーの負荷を軽減するというあなたの意見には反対しません。

ajax を使いすぎていませんか? 同時に、なぜ非常に短い期間を追加しますか?この仮定は単純に存在しません。ブラウザーがリソースをダウンロードすると、いくつかの新しいスレッドが開きます。複数のスレッドを実行したことがある場合、スレッドを無限に開くことができないことはわかりますか。これは IIS リンクの数と関係がありますか? Web ページにアクセスするときにブラウザがブロックされるのを見たことがありますか?次に、サービスが利用できないことがわかりました。これは、Web サーバーの同時実行性が高いことが原因です。 。 。

それはサーバー側ではなく、ブラウザーの同時リクエストの数について話しています

7 階の firebugdotname からの返信を引用:
5 階の robake からの返信を引用:

上の firebugdotname からの返信を引用4 階:

……

いいえ、理解されたり、「ナンセンス」と言われるのは本当に不快です。5 階では、ブラウザーが同じドメイン内のリソースのリクエストに対して一定数のリンクを維持することを知りませんか。 ? ajax を使用している場合は、同時に (非常に短期間に) リクエストが多すぎるとブロックされます。誤解しないでください。もちろん、あなたはサーバーの負荷を軽減することについて話しています...


はい、あなたが ajax に遭遇していないからといって、他の人がそれに遭遇していないという意味ではありません。何らかの理由でサーバーがすぐに応答しません。この時点で別のリクエストを送信しましたが、それでもすぐに応答しませんでした。このような積み重ねにより、以降のリクエストはまったく送信されなくなります。なぜ「極めて短い時間」を付け加えたのでしょうか?サーバーがタイムアウトしました。これはご存知のとおりです。

皆さんの言ったことはとても良く理解できたので、また投稿させていただきます。

[/url] さんの返信:]
盗難防止のためかもしれませんが、この意見に同意します

13 階 robake さんの返信より引用:

7 階 firebugdotname さんの返信より引用:
5 階 robake さんの返信より引用:

引用 4 Firebugdotname の返信:



理解されず、「ナンセンス」と言われるのは本当に不快です。5 階では、ブラウザがリクエストに対して一定数のリンクを維持することをご存知ですか。同じドメインリソースですか?同時に (非常に短期間に) リクエストが多すぎるとブロックされます。ajax を使用している場合は、ご存知のとおりです...


デスクトップ開発やマルチスレッドを行ったことがないようで、ブラウザがダウンロードされます。リソースはスレッドを通じて実行され、ajax もスレッドを使用してブラウザーによって実行されます。同時に多すぎる Ajax リクエストがブロックされるのは、リンクの数が原因ではなく、システム リソースがすべて消費されることを保証するためにブラウザが使用するスレッドの数を制限しているためです。 Web ページを開いたからといって、コンピュータのシステムの応答が遅くなるということはありません。ブラウザによって制限されているスレッド数に達しない限り、ajax リクエストはブロックされません。
同時に、一度に何十もの Web ページを開いている人を見たことがありますか?異なるサーバーに異なるリソースを配置する主な目的は、負荷を分散し、メンテナンスを容易にすることです (特にクラスターを使用する Web サイトの場合、これはメンテナンスにおいて非常に重要な役割を果たします)。

明らかに、私はデスクトップ開発を行ったことはなく、Web 開発を行ってきました。

一人はナイフを持ち、もう一人は剣を持っています。くそー

一人はナイフを持っていて、もう一人は剣を持っています。どうやって違いますか?実際、議論されている問題はすべて Web の問題であり、デスクトップの問題とはまったく異なります。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。