Вы не просто размещаете весь сайт с CDN, просто ваш контент.
Я только что понял, что ответил на аналогичный вопрос некоторое время назад: что делает akamaihd.net?
Изображение WikiMedia
Так что ваш сайт ссылается на http://akamai/myfile.ext
. Это запросит myfile.ext
от akamai
. akamai
может отправить HTTP-перенаправление на фактический контент-сервер.
Теперь, когда этот последний шаг будет кэширован, прекрасно, все будущие запросы будут отправляться на ближайший контент-сервер.
Как это работает?
Давайте предположим, что этот сайт:
<html>
<body>
<img src="http://cdn/oliver.png" />
</body>
</html>
Я запрашиваю этот сайт с моего собственного веб-сервера. Файл .html
не размещается в cdn
. Не является DNS моего веб-сервера.
Первоначальный запрос
Мой браузер получил этот HTML-файл и теперь анализирует его. Он находит ссылочное изображение и отмечает, что он расположен по адресу http://cdn/oliver.png
. Он запрашивает этот файл.
Для этого нужно найти IP-адрес cdn
. В нашем примере этот IP-адрес 10.10.10.10
.
С этим IP-адресом он может подключиться к серверу cdn
и запросить /oliver.png
.
Географическое положение
Теперь cdn
понимает:« Этот парень из Германии!». Поэтому вместо того, чтобы отправить мне мою удивительную картинку, которую я хотел, она отправляет мне HTTP-перенаправление:
/oliver.png не здесь. Это на 10.10.33.33/oliver.png
Так что мой браузер попросит 10.10.33.33
(что, я надеюсь, ближе) для картинки.
Шутки в сторону?
Я не говорю, что так работают ВСЕ CDN, но это был бы один подход.
Можно также реализовать демон DNS, который возвращает разные результаты для поиска имени в зависимости от местоположения того, кто отправил запрос.
Но я сомневаюсь, что это делается на практике. Но, может быть, я просто не представляю, как правильно это настроить. Смотрите пушистый ответ о том, как это может работать.
Кто управляет CDN?
У большинства глобальных игроков есть своя собственная сеть доставки контента (или я бы так предположил). Некоторые провайдеры просто выгружают определенные сервисы в большие CDN (как Microsoft делает с загрузками MSDN).
И это может как-то коснуться вашей второй темы.
Учтите это, в MSDN Microsoft предлагает скачать продукт. Эти загрузки затем предоставляются Akamai. Если вы можете определить URL-адрес этой загрузки, вы можете просто загрузить продукт, даже не связываясь с Microsoft.
Это проблема безопасности? Не совсем, потому что то, что загружается, все еще защищено (ключом продукта).
Но как насчет других данных?
Если ваши данные имеют отношение к безопасности, то это не материал CDN. Если вы не хотите, чтобы что-то было доступно как можно шире, не помещайте это в CDN.