Я заметил, что только за последний год или около того многие крупные веб-сайты внесли такие же изменения в способ структурирования своих страниц. Каждый из них перемещал свои файлы Javascript из одного и того же домена, как сама страница (или поддомен этого), чтобы размещаться в домене с другим именем.
Это не просто распараллеливание
Теперь существует известная методика распространения компонентов вашей страницы на нескольких доменах для параллелизации загрузки. Yahoo рекомендует его, как и многие другие. Например, www.example.com размещается ваш HTML-код, затем вы помещаете изображения на images.example.com и javascripts на scripts.example.com. Это обостряет тот факт, что большинство браузеров ограничивают количество одновременных подключений на сервер, чтобы быть чистыми гражданами.
Это не то, о чем я говорю.
Это не просто перенаправление на сеть доставки контента (или, может быть, это - см. нижнюю часть вопроса)
Я говорю о размещении Javascripts специально в совершенно другом домене. Позвольте мне быть конкретным. Только в прошлом году или около того я заметил, что:
youtube.com перенесла свои .JS файлы на ytimg.com
cnn.com перенесла свои .JS файлы на cdn.turner.com
weather.com перенесла свои .JS файлы на j.imwx.com
Теперь я знаю о сетях доставки контента, таких как Akamai, которые специализируются на аутсорсинге этого для больших сайтов. (Название "cdn" в специальном домене Тернера подсказывает нам важность этого понятия здесь).
Но обратите внимание на эти примеры, каждый сайт имеет для этого специально зарегистрированный домен, а не домен сети доставки контента или другого поставщика инфраструктуры. Фактически, если вы попытаетесь загрузить главную страницу из большинства этих доменов script, они обычно перенаправляют обратно в основной домен компании. И если вы отмените поиск IP-адресов, они иногда указывают на серверы CDN-компаний, иногда нет.
Почему меня это беспокоит?
Ранее работавший в двух разных компаниях безопасности, я был параноидальным из-за вредоносных Javascripts.
В результате я следую практике сайтов с белыми списками, чтобы я мог запускать Javascript (и другое активное содержимое, такое как Java). В результате, чтобы сайт, подобный cnn.com, работал правильно, мне нужно вручную поместить cnn.com в список. Это боль взади, но я предпочитаю ее альтернативой.
Когда люди использовали такие вещи, как scripts.cnn.com для распараллеливания, это отлично работало с соответствующим подстановочным знаком. И когда люди использовали субдомены с доменов компании CDN, я мог просто разрешить основной домен компании CDN с подстановочным знаком впереди и убить многих птиц одним камнем (например, *.edgesuite.net и *.akamai.com).
Теперь я обнаружил, что (по состоянию на 2008 год) этого недостаточно. Теперь мне нужно совать в исходном коде страницы, которую я хочу добавить в белый список, и выяснить, какой "секретный" домен (или домены) этот сайт использует для хранения своих Javascripts. В некоторых случаях я обнаружил, что должен разрешить использование трех разных доменов для работы сайта.
Почему все эти основные сайты начали это делать?
ИЗМЕНИТЬ: OK как указано "onebyone" , похоже, это связано с доставкой содержимого CDN. Поэтому позвольте мне немного изменить вопрос, основанный на его исследованиях...
Почему weather.com используется j.imwx.com вместо twc.vo.llnwd.net?
Почему youtube.com используется s.ytimg.com вместо static.cache.l.google.com?
Для этого нужно рассуждать.