Вы не просто размещаете весь сайт с 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.