tanenbaum_seti_all.pages (525408), страница 199
Текст из файла (страница 199)
Если же последние изменения были внесены в страницу год назад, очевидно, она содержит довольно стабильную информацию (например, список греческих и римских богов), н ее можно хранить в каше в течение года, резонно предполагая, что эа это время ничего на ней не изменится. Несмотря на то, что такой эвристический анализ работает весьма успешно, все же время от времени из каша извлекаются устаревшие страницы. Другой подход является более дорогим, но и более надежным в смысле исключения возможности хранения в кэше устаревших страниц. Используются особенности КРС 2010, имеющие отношение к управлению кэшем, Одной из самых полезных особенностей является наличие заголовка У7'-МоЫфеЫ-Япсе, который сервер-посредник может посылать веб-серверу.
В нем указывается страница, состояние которой хочет выяснить прокси, а также время внесения последних изменений (значение заголовка Еазг-Медфака на странице). Если страница не подвергалась изменениям, сервер отошлет обратно короткое сообщение №Г МойЯег1 (аИзменений нет», код 304, см. табл. 7.12). Это будет означать, что прокоп может использовать хранящуюся в каше страницу. Если же на странице произошли какие-либо изменения, сервер пришлет ее обновленную версию. Такой подход требует обмена запросами и ответами, но если страница еще не устарела, ответ сервера будет очень коротким.
Два указанных подхода можно комбинировать. В течение первого интервала времени 1гТ после получения страницы прокси просто извлекает запрошенную страницу из каша. По прошествии определенного промежутка времени прокоп использует ~~-МайЯег1-Бгпсе для проверки состояния страницы. Выбор ЬТ подразумевает некоторый эвристический анализ, базирующийся на знании времени последних изменений на странице.
744 Глава 7. Прикладной уровень Динамические веб-страницы (например, созданные РНР-скриптом) не должны кэшироваться вообще никогда, так как их содержимое переменное по определению. Для этого, а также для некоторых других специальных случаев предусмотрен механизм, с помощью которого сервер может информировать все серверы-посредники на пути к клиенту о том, что не следует использовать текущую страницу без запроса ее актуальности. Этот же механизм может применяться для страниц, которые могут меняться довольно часто. В КРС 2616 определен также ряд других механизмов управления кэшированием. Еще один подход к повышению производительности называется упреждающим кэшированием. Получая страницу с веб-сервера, прокоп-сервер может проверить ее на наличие гиперссылок.
Если таковые имеются, он может запросить и поместить в кэш страницы, на которые указывают гиперссылки, просто на тот случай, если они понадобятся пользователю. Этот метод может помочь уменьшить время доступа к последующим запросам, однако может привести к загрузке линий связи при передаче страниц, которые, возможно, так и не будут запрошены. Понятно, что кэширование во Всемирной паутине реализуется далеко не тривиально. Эту тему можно было бы обсуждать еще долго. На самом деле, ей посвящены отдельные книги, например (ВлЬ1поу(сЬ и БрасзсЬес1с, 2002; %еззе1з, 2001), Однако нам пора двигаться дальше. Репликащиясерверсв Кэширование — это технология повышения производительности, применяемая на стороне клиента.
Существуют также методы, связанные со стороной сервера. Один из наиболее распространенных способов повышения производительности Сети заключается в репликации содержимого серверов на нескольких машинах, расположенных в разных точках земного шара, Такие серверы с одинаковым содержимым иногда называются веркалами. Репликвция часто применяется на корпоративных сайтах, где главная страница содержит несколько изображений и ссылок на региональные подразделения сайтов. Пользователь может выбрать сайт, находящийся на ближайшем сервере. Начиная с этого момента, все его взаимодействие с данным сайтом будет производиться через этот сервер, Реплицированные сайты обычно отличаются статичностью.
Компания решает, где расположить зеркала, решает вопрос с серверами в каждом из регионов и создает более или менее информативные страницы на каждом зеркале (возможно, убирая изображения падающих снежинок с сервера на Майами н фотографии пляжных лежаков с сервера в центре континента). Зеркала обычно сохраняются неизменными в течение многих месяцев или даже лет. К сожалению, Всемирной паутине присущ феномен, известный под названием внезапная давка, когда тихий, неприметный, никому не известный сайт мгновенно оказывается в центре всеобщего внимания и интереса.
Например, до 6 ноября 2000 года веб-сайт государственного секретаря штата Флорида, ввуук.оов, вгагвЛ!.ив, рассказывал немногочисленным посетителям о последних заседаниях и давал информацию о регистрации нотариальной деятельности во Флориде, Однако 7 ноября 2000 года, когда президентство в США вдруг стало целиком за- Всемирная па ина (МОЗАИК) 74$ висеть от нескольких тысяч спорных голосов в горстке округов Флориды, этот сайт внезапно стал одним из пяти наиболее посещаемых в мире. Надо ли говорить о том, что он просто не мог справиться с такой нагрузкой и практически задохнулся от наплыва посетителей. Понадобился какой-то способ автоматической репликацин веб-сайтов при угрозе массовой атаки посетителей.
Причем количество зеркал в разных точках Земли должно удовлетворять спросу. Эти реплицированные сайты должны пережить волну высокого трафика, после чего большинство из них можно спокойно удалить с серверов. Для этого у сайта должна быть предварительная договоренность с какой-нибудь крупной хостинговой компанией о создании зеркал при необходимости и об оплате реально занимаемых в каждый момент времени ресурсов, Более гибкая стратегия заключается в создании динамической постраничной репликации, зависящей от местоположения источника трафика.
Некоторые исследования в этой области описаны в книгах (Р1егге и др., 2001; Р)епте и др„ 2002). Сети доставки содержимого Чем отличается капиталистический мир от всех иных формаций7 Тем, что в нем всегда найдется человек, который извлечет выгоду даже нз Всемирного ожидания. Каку Очень просто. Компании, называющие себя СОХ (Сопсепг 1)е11чегу Хегаогкэ — сети доставки содержимого), договариваются с поставщиками данных (например, музыкальными сайтами, газетами и другими компаниями, заинтересованными в быстрой доставке содержимого своих веб-сайтов) и за скромную плату предлагают им обеспечивать эффективную доставку их данных конечныл~ пользователям.
После подписания контракта компания передает СОМ содержимое своего сайта для предварительной обработки (вкратце обсуждается далее) и последующего распространения. После этого СРН договаривается с большим числом провайдеров, обещая хорошо заплатить за размещение в их ЛВС удаленно управляемой копии сайта с ценной для пользователя информацией. Для провайдера это не только способ получения дополнительного дохода, но и отличный ход в конкурентной борьбе: ведь клиенты этого провайдера смогут получать информацию СОХ с очень хорошей скоростью. Провайдеры, отказываюгциеся от предложений С1)Х, не только не получают «бесплатный сырь, но и проигрывают в качестве предоставляемых услуг по сравнению с провайдерами, сотрудничающими с сетями доставки содержимого.
В таких условиях отказ от подписания контракта с С1)Х оказывается просто безумием. Крупнейшие сети доставки содержимого работают более чем с 10 000 серверами, разбросанными по всему миру. Тысячекратное копирование содержимого, очевидно, существенно повышает производительность Сети. Тем не менее, вначале необходимо заставить систему работать, а для этого требуется способ переадресации запроса пользователя на ближайший сервер СРХ. Желательно, чтобы его местоположение совпадало с провайдером. Эта переадресация должна происходить без изменения РИЗ или какой-либо другой части стандартной инфраструктуры Интернета Далее в не- 746 Глава 7.
Прикладной уровень сколько упрощенном виде описывается принцип работы А(саша? — самой большой С?)?ь?. Процесс начинается с передачи поставщиком информации своего веб-сайта в С?)?ь?, Каждая полученная страница проходит в сети доставки содержимого предварительную обработку. При этом существующие ?)К?. заменяются модифицированными. Идея, стоящая за этой стратегией, заключается в том, что обычно сайт состоит из некоторого числа маленьких страниц (обычного НТМ?.-текста), на которых расположены ссылки на большие файлы (аудио- и видеозаписи, изображения).
Модифицированные НТМ1.-страницы остаются на своих прежних местах (на сервере поставщика информации), а на серверы С?)?ь? уходят только файлы болыпих размеров. Рассмотрим работу этой схемы на примере веб-страницы фирмы «Пушистые фильмы» (листинг 7.15, а). После предварительной обработки оиа превращается в страницу, описанную в листинге 7.15, б, и размещается на сервере «Пушистых фильмов» по адресу ы/ины.(и/гусс(во.соптйпс(вх Шптй Когда пользователь набирает ?)К?.