web-dev-qa-db-ja.com

ローカルファイルとCDN

Webサイトの読み込み時間が懸念される場合、JavaScriptまたはCSSファイルを参照するときに一般的に使用する方が良いでしょうか? CDNを使用する方が良いでしょうか、それともHTTPリクエストを追加するだけですか?

11
Omar A.

CDNは、すべての静的ファイル(.css/.js/images)に使用する必要があります。

ただし、javascriptまたはcssファイルには、一意のユーザー文字列またはそのようなものが含まれるなど、動的な側面が含まれることがあります。この状況では、CDNサーバーは、目的に反するすべての要求でOriginサーバーに連絡する必要があります。

CSSとJavascriptがすべてのユーザーに対して静的である場合、CDNを使用するのが正しい方法です。独自のWebサーバーではなくCDNからcssおよびjsファイルのみをロードするため(インラインコードを使用していない場合)、これにより余分なHTTPリクエストは発生しません。したがって、ユーザーのブラウザがこれらのリクエストをサーバーからロードする代わりに、CDNを介してロードされますが、これらのリクエストの送信先を変更するだけの追加のリクエストはありません(現在もインラインコードを使用していない限り)。

CDNを使用することのその他の利点は、CDNサーバーがほとんどの場合、オリジンよりもエンドユーザーの近くに配置されることです。これにより、ロード時間が短縮されます。また、CDNサーバーは、静的コンテンツをWebサーバーに具体的に提供することにより、Originサーバーよりもはるかに高速に静的コンテンツを提供するようにセットアップされる可能性があります。

11
Analog

CSS、JS、画像などの静的ファイルを配信するために CDNと従来のWebホスティング を使用することが一般的に推奨されます。これは、ファイルがCDNのエッジサーバーにキャッシュされると、サイトの訪問者には、Originサーバーではなく、最も近いPoint of Presence(PoP)から静的コンテンツが配信されるためです。

ほとんどの場合、これによりクライアントとサーバー間の距離が短くなるため、追加のHTTP要求を追加せずに読み込み時間を短縮できます。これは、冗長性の向上、オリジンからの負荷の軽減など、他の分野でも役立ちます。

3
CodyA

CDNが必要な場合は、CDNを使用します。ユーザーがグローバルで広範囲に広がっている場合、または自分のサーバーに保存したくないようなコンテンツがたくさんある場合は、CDNが役立ちます。グローバルに、サーバーがユーザーに近い場合、コンテンツへのアクセスを高速化できます。多くのGBまたはテラバイトの静的データがあり、そのコンテンツにアクセスするための負荷が大きい場合、CDNが役立ちます。

ただし、小規模なローカルサイトや負荷の少ないサイトではこのようなことをほとんど必要とせず、CDNは、キャッシュの問題など、セットアップ、操作、およびワークフローにもう1つの複雑さしか追加できません。

多くの場合、他の理由を使用せずにCDNを使用する必要があると読んでいます。

2
Rob

CDNを使用することは、それがどのように実装されているかに応じて、Webサイトにとって負担と利益の両方になります。

正のポイント

  1. 静的コンテンツはエンドユーザーの近くに保存されます(読み込み時間が短縮されます)
  2. 追加のサブドメイン(cdn1.example.comcdn2.example.comなど)は、ブラウザーの固有の制限を支援します。これにより、ファイルのダウンロードは、同じ完全修飾ドメイン名からの2つの同時ファイルに一度に制限されます。つまり、この例を使用すると、www.example.comからHTMLにアクセスし、その間、cdn1.example.comから2つのファイル、cdn2.example.comから2つのファイル、cdn3.example.comから2つのファイルをダウンロードします1つのCDNサービスとソースにアクセスする3つのCDNドメインすべて。
1