Истоки и цели Web-кэширования

Проект стапдарга НТТР/1.1 (RFC 2616) определяет кэширование как локальное хранение ответных сообщений. Более свободная трактовка онределепия кэширования — перемещение содержания ближе к пользователю. Кэширование является, по-видимому, наиболее изученным Web-приложепием. В настоящее время на рыпке имеется ряд коммерческих программных и аннаратных решений различных компаний. Начнем с краткой истории кэширования, далее определим цели кэширования и перечислим проблемы, возникающие нри решепии задач кэширования.

Первый Web-сервер httpd (созданный в Швейцарии, в Женевской лаборатории ЦЕРН) имел прокси-сервер, который включал кэш [LA94J. Один из самых ранних проектов, связанных с Web-кэшированием, Harvest [BDH+94], индексировал информацию в Internet. Harvest кэшировал и реплицировал информацию, собранную другими средствами. Иерархический объект кэша был фундаментальным компонентом его архитектуры. Реестр сервера позволял собирать информацию о других кэшах. Реестр отвечал за запросы о расположении других кэшей. Разнесенные в пространстве кэши могли объединять свои ресурсы. После разработки Harvest начали развиваться и ряд других проектов, связанных с кэшированием.

Ко времени появления НТТР/1.0 кэширование уже стало важным и необходимым компонентом Web. Ранние эксперименты, связанные с кэшированием и измерениями, проведенные до 1994 г. [BC94], продемонстрировали возможности значительного сокращения объема данных, передаваемых через сеть. В кэши начали записывать разнообразную информацию, связанную с документами, включая тип содержания, его размер и среднее время между модификациями. Проверка актуальности содержимого кэша и доставка кэшированных ответов аутентифицироваи- ным пользователям становилась весьма важной. Группы кэшей организовывались в иерархические системы, которые выходили за границы регионов и национальные границы. Кэширование было первым из основных Web-приложений, используемых в повседневной практике обычными пользователями.

Целями кэширования является уменьшить:

•          время между началом Web-запроса и моментом получения агентом пользователя ответа (время ожидания ответа пользователем);

•    нагрузку на сегь пу гем устранения новторпых передач одинаковых ответов;

•          нагрузку исходного сервера за счет наличия прокси-сервера на пути между клиентом и сервером, обрабатывающим запрос.

Первая цель является наиболее известной целью кэширования. Сокращение времени ожидания пользователя имеет важное значение не только для пользователя Web, но и для разработчика Web-содержания. Исследования показали, что когда пользователь быстро получает ответ от Web-сайта, то он проводит на этом сайге больше времени. Многие пользователи еще имеют относительно медленное подключение к Internet. Быстрое получение Web-страниц увеличивает пользовательские ожидания на получение большего объема информации с сайта.

Вторая цель главным образом влияет на сеть, но имеет интересный побочный эффект. Передача только необходимой информации (т.е. устранение повторных нередач содержания, которое пользователь может нолучить из кэша, расположенного к нему ближе) уменьшает нагрузку на сеть. Сокращение нагрузки приводит, в свою очередь, к увеличению производительности для всех, кто использует сеть, т.к. теряется меньшее число пакетов, а затраты на повторную их передачу уменьшаются.

Третья цель подразумевает, что исходный сервер может обработать большее число запросов от различных клиентов. Увеличение числа обрабатываемых запросов отражается не только на прикладном, но и на трапснортпом уровне. Это приводит к уменьшению числа отказов в установлении ТСР-соедипепий из-за переполнения очередей и задержек обработки запросов.

Источник: Web-протоколы. Теория и практика. — M.: ЗАО «Издательство БИНОМ», 2002 г. – 592 c.: ил.

Вы можете следить за любыми ответами на эту запись через RSS 2.0 ленту. Вы можете оставить ответ, или trackback с вашего собственного сайта.

Оставьте отзыв

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

 
Rambler's Top100