質問: cdn(コンテンツ配信ネットワーク)はどのように機能しますか? アカマイをcdnとして採用。私が理解しているところによると、クライアントがページを要求すると、その要求はakamaiセントラルサーバーに送られます。中央サーバーは、クライアントの場所に応じて、akamaiエッジサーバーをピックアップし、その後のクライアントからの要求は、このエッジサーバーに直接送られます。私の質問はそれです:クライアントがwebサイトを(名前で)要求する場合、dnsが名前をakamaiセントラルサーバーのipアドレスに解決してクライアントに渡すと、クライアントはこのipアドレスを保持し、その後の要求はどのようになりますかakamai edgeサーバーのipアドレスに直接アクセスするには?または、cdnが使用されている場合、dns解決自体がcdnサーバーによって実行される必要があるということですか?google、amazon、facebookなどの大手企業は独自のcdnサーバーを持っていますか、それともアカマイなどのサードパーティのcdnプロバイダーに依存していますか?グーグルとヤフーと言う!どちらもakamai cdnを使用し、次にyahoo!とgoogleは同じサーバーに常駐していますか?それは潜在的なセキュリティ問題を引き起こしませんか?
回答: cdnで単純にサイト全体をホストするのではなく、contentを使用します。しばらく前に同様の質問に答えたことに気づきました: akamaihd.netは何をしますか? wikimediaによる画像 あなたのサイトはhttp://akamai/myfile.extを参照しています。これにより、akamaiにmyfile.extが要求されます。 akamaiは httpリダイレクト を実際のコンテンツサーバーに送信できます。最後のステップがキャッシュされると、今後のすべてのリクエストは最も近いコンテンツサーバーに送られます。それはどのように機能しますか?このウェブサイトを想定しましょう:<html> <body> <img src="http://cdn/oliver.png" /> </body> </html> このウェブサイトを自分のウェブサーバーにリクエストします。 .htmlファイルは、cdnでホストされているではありません。どちらも私のウェブサーバーのdnsではありません。最初のリクエストだから私のブラウザーはそのhtmlファイルを取得し、今それを解析します。参照されている画像を見つけ、それがhttp://cdn/oliver.pngにあることに注意します。そのファイルを要求します。そのためには、cdnのipアドレスを見つける必要があります。この例では、そのipアドレスは10.10.10.10です。そのipアドレスを使用して、cdnサーバーに接続し、/oliver.pngを要求できます。地理的位置cdnは、「あの男はドイツ出身です!」と気づきました。だから、私が望んでいた素晴らしい写真を送る代わりに、次のようなhttpリダイレクトを送ります: /oliver.pngはここにはありません。 10.10.33.33/oliver.pngにあります したがって、私のブラウザは10.10.33.33(うまくいけば私に近い)に画像を要求します。マジ?これがすべてのcdnの動作方法であるとは言っていませんが、これは1つのアプローチです。また、クエリを送信した人の場所に応じて、名前の検索に対して異なる結果を返すdnsデーモンを実装することもできます。 しかし、これが実際に行われているとは思えません。しかし、私はそれを適切に設定する方法を想像できないだけかもしれません。それがどのように機能するかについては fluffy's answer を参照してください。誰がcdnを実行しますか?ほとんどのグローバルプレーヤーは、独自のコンテンツ配信ネットワークを持っています(または私はそう思います)。一部のプロバイダーは、特定のサービスをより大きなcdnにオフロードします(microsoftがmsdnダウンロードで行うように)。そして、これはどういうわけか2番目の主題に触れるかもしれません。これを考慮して、msdnでマイクロソフトは製品のダウンロードを提供しています。これらのダウンロードは、akamaiによって提供されます。そのダウンロードのurlを特定できれば、microsoftに連絡することなく製品をダウンロードできます。これはセキュリティの問題ですか?ダウンロードされているものは(プロダクトキーによって)まだ保護されているため、実際にはそうではありません。しかし、他のデータはどうですか?データがセキュリティ関連である場合、それはcdn資料ではありません。何かをできるだけ広く利用したくない場合は、しないでくださいcdnに入れます。