昨年かそこらで、多くの主要な Web サイトがページの構造に同じ変更を加えたことに気付きました。それぞれの Javascript ファイルは、ページ自体 (またはそのサブドメイン) と同じドメインでホストされていたものから、別の名前のドメインでホストされているものに移動しました。
単なる並列化ではない
現在、ページのコンポーネントを複数のドメインに分散させてダウンロードを並列化する、よく知られた手法があります。 Yahooは、他の多くの人と同様にそれを推奨しています. たとえば、www.example.comは HTML がホストされている場所であり、画像はimages.example.comに配置し、javascript はscripts.example.com に配置します。これは、ほとんどのブラウザーがサーバーごとの同時接続数を制限して、良きネット市民であるという事実を回避します。
上記は私が話していることではありません。
コンテンツ配信ネットワークへの単なるリダイレクトではありません (または、そうかもしれません。質問の下部を参照してください)。
私が話しているのは、Javascript をまったく別のドメインでホストすることです。具体的に言ってみましょう。昨年かそこらで、私は次のことに気付きました:
youtube.comは .JS ファイルをytimg.comに移動しました
cnn.comは .JS ファイルをcdn.turner.comに移動しました
weather.comは .JS ファイルをj.imwx.comに移動しました
今では、大規模な Web サイト向けのアウトソーシングを専門とするAkamaiのようなコンテンツ配信ネットワークについて知っています。(Turner の特別なドメインの「cdn」という名前は、この概念の重要性を示しています)。
ただし、これらの例では、各サイトにはこの目的のために特別に登録された独自のドメインがあり、コンテンツ配信ネットワークやその他のインフラストラクチャ プロバイダーのドメインではないことに注意してください。実際、これらのスクリプト ドメインのほとんどからホームページを読み込もうとすると、通常は会社のメイン ドメインにリダイレクトされます。また、関連する IP を逆引きすると、CDN 企業のサーバーを指しているように見える場合とそうでない場合があります。
なぜ私は気にするのですか?
以前は 2 つの異なるセキュリティ会社で働いていたので、悪意のある Javascript に悩まされてきました。
その結果、私は Javascript (および Java などの他のアクティブ コンテンツ) の実行を許可するサイトをホワイトリストに登録する慣行に従います。その結果、 cnn.comのようなサイトを適切に機能させるには、手動でcnn.comをリストに追加する必要があります。それは後ろの痛みですが、私は代替案よりもそれを好みます。
scripts.cnn.comなどを使用して並列化した場合、適切なワイルドカードを使用するとうまくいきました。また、人々が CDN 会社のドメイン以外のサブドメインを使用している場合、CDN 会社のメイン ドメインを先頭にワイルドカードを付けて許可するだけで、一石二鳥です (*.edgesuite.net や *.akamai.com など)。
現在、(2008 年現在) これでは不十分であることがわかりました。ここで、ホワイトリストに登録したいページのソース コードを調べて、そのサイトが Javascript を保存するために使用している「秘密の」ドメイン (複数可) を特定する必要があります。場合によっては、サイトを機能させるために 3 つの異なるドメインを許可する必要があることに気付きました。
これらすべての主要なサイトがこれを始めたのはなぜですか?
編集: 「onebyone」が指摘したように、コンテンツの CDN 配信に関連しているようです。それで、彼の研究に基づいて質問を少し修正させてください...
weather.comがtwc.vo.llnwd.netではなくj.imwx.comを使用しているのはなぜですか?
youtube.comがstatic.cache.l.google.comではなくs.ytimg.comを使用しているのはなぜですか?
これには理由があります。