[パフォーマンスの最適化] (ドメイン名の相違) メイン ページと静的リソースを異なるドメイン名に配置する必要があるのはなぜですか?

最近、クラスメートが、なぜ同じ Web サイトでメイン ページと静的リソース (写真など) を異なるドメイン名に配置する必要があるのか​​と質問しました (同じサーバーで解析される場合もあれば、異なる場合もあります)。これを行う目的は何ですか? ゆっくり聴きましょう〜

1. 画期的なブラウザ同時実行制限 

ブラウザには、同じドメイン名内での同時リソース リクエストの数に制限があり( DDOS 攻撃を防ぐ ため) 、ブラウザごとに同じドメイン名での静的リソースの同時ロード数が異なります。最大制限を超えると、超過リクエストはブロックされますブラウザーは前のリソースがダウンロードされるのを待機し、以前に接続された TCP を再利用して後続のリクエストを開始します。

以下は、いくつかの一般的なブラウザの同時リクエストの数です。

クロム34/32 6
IE10 8
IE11 13
Firefox27/26 6
サファリ7.0.1 6

静的リソースをメイン ページと区別するために別のドメイン名に配置すると、ブラウザの同時リクエスト数の制限を突破して、Web ページの読み込み時間を短縮できると考えられます。同時リクエストの数を増やすだけでなくメインドメイン名でのリクエストも減らすことができるため、WebページまたはDCLの白画面時間とL時間を減らす効果が得られます。

2. Cookie の帯域幅を節約する

Cookie の後にはドメイン名が続きます。同じドメイン名の下にあるすべてのリクエストには Cookie が含まれますすべてのリソースが 1 つのドメイン名の下にある場合、それらの静的リソースをロードすると Cookie も生成され、リクエストのコストが明らかに増加することが考えられます。

ほとんどの場合、写真、ビデオ、その他の情報の閲覧など、静的リソースに対するリクエストには Cookie を含める必要はありません。メインのドメイン名とは異なり、Cookie は自動的に伝送されないため静的リソースを別のドメイン名に配置することで Cookie の伝送を回避し、リクエストの帯域幅を節約できます。

3. より便利な CDN キャッシュ

静的コンテンツと動的リクエストを別のサーバーに保存すると、 CDN リクエストが簡単になります。

4. ドメイン名の収束

  • ドメインの相違

ドメイン名の発散とは、マルチスレッドのダウンロードを実行できるように、静的リソースを複数のサブドメイン名の下に配置することを指します。これにより、並列処理が向上し、クライアントが静的リソースをより迅速にロードできるようになります。つまり、この記事で説明するコンテンツ、メイン ページ、静的リソースは別のドメイン名に配置する必要があります。

  • ドメイン名の収束 

ドメイン名の収束とは、静的リソースを 1 つのドメイン名の下に配置することを指します。DNS 解決のオーバーヘッドを削減します。

ブラウザが DNS を解決するには時間がかかるため、ドメイン名が多すぎると解決に時間がかかり、アクセス速度が遅くなります。

したがって、ページに表示されるドメイン名の数を制御する必要があります。一般的には、メイン サイト + CDN の 2 つのドメイン名が合理的です。

おすすめ

転載: blog.csdn.net/qq_38974163/article/details/126667968