Характеристики НТТР-сообщений

Основные свойства HTTP-запросов и ответов позволяют выяспить, как протокол используется на практике. Статистический анализ методов запросов и кодов ответов может привести к создапию реальной картипы Web-нагрузки и выявить проблемы отдельного сайта. Популярность определенных методов запросов и определенных кодов ответов мепяется во времеии по мере появления новых Web-при- ложепий и перехода на протокол НТТР/1.1.

Методы НТТР-запросов

Знание того, какие методы запросов используются на практике, полезпо для оптимизации серверных приложений для наиболее используемых методов, а также разработки реалистичных тестов для оценки производительности прокси- и Web- серверов. В протоколе НТТР/1.1 определены методы GET, HEAD, POST, PUT, DELETE, OPTIONS, TRACE и CONNECT, как об этом говорилось рапее в главе 7 (раздел 7.2.1). Для подавляющего большинства HTTP-запросов используется небольшое число методов.

Характеристики трафика. Проведение большого числа экспериментальных исследований показало, что подавляющее большинство Web-запросов используют метод GET для загрузки ресурсов и запуска сценариев [AJ00, PQ00]. Небольшая доля HTTP-запросов использует метод POST, обычно для передачи данных форм. Другие методы запросов используются редко, так как они не инициируются типичными действиями пользователя при работе с браузером. Измерения выявили небольшое число запросов, использующих метод HEAD, которые могут быть сгенерированы вручную как часть операций по тестированию Web-cepвepa. Несмотря на доминирование запросов GET, Точное распределение методов запросов меняется от сайта к сайту. Сайт с необычной смесыо методов запросов может иметь производительность, отличную от других сайтов. Например, рассмотрим Web-сайт, который позволяет пользователям посылать и принимать сообщения электронной почты. Для отсылки сообщения электронной почты пользователь вводит текст в окне браузера и нажимает кнопку Submit. Такой Web-сайт может получать относительно большое число запросов POST, и эти сообщения могут включать большой объем данных. Выполняя тестирование сайта в предположении, что большинство запросов для получения данных с сайта используют метод GET, не даст репрезентативного описания нагрузки этого сайга. Знапие того, что сайт может использовать необычные методы запросов, поможет выделить такую ситуацию, в то время как серверные тесты, использующие обычную смесь методов запросов, не обеспечивают определение того, как реальпо будет работать такой сайт.

Влияние распространения новых технологий. Распределение методов запросов может изменяться во времени, следуя за эволюцией Web-приложений. Многие Web-сайты позволяют пользователям отправлять формы разнообразного назначения, включая передачу запросов поисковым машинам или передачу сообщений электронной почты. Когда сайт, позволяющий пользователям отправлять данные, становится популярным, то количество запросов POST увеличивается. В процессе работы ряд приложений позволяет клиентам создавать новые ресурсы. Например, приложения, использующие Web Distributed Authoring and Versioning (WebDAV), позволяют группе пользователей объединяться для написания и редактирования документов, как это будет обсуждено ниже в главе 15 (раздел 15.5.2). Если это приложение становится популярным, то число запросов PUT и DELETE будет увеличиваться. Приложения WebDAV также предоставляют новые методы, которые используются все чаще по мере того, как растет их популярность. Кроме того, существующее приложения могут начать использовать методы запросов по-другому. Например, браузер или прокси-сервер перед выполнением запроса на ресурс могут использовать метод HEAD для проверки актуальности этого ресурса в кэше. Такое приложение будет подробно рассмотрено в главе 13 (раздел 13.1.2). Кроме того, появление инструментальных средств тестирования и отладки Web-компонентов может увеличить частоту использования метода TRACE.

Коды НТТР-ответов

Знание того, как сервер отвечает на клиентские запросы, является важной частью построения реалистичной модели Web-нагрузки. В протоколе HTTP определено большое число кодов ответов, разделенных на пять классов, как это обсуждалось в главе 7 (раздел 7.2.3).

Характеристики трафика. Ответом на успешный запрос в большинстве случаев (от 75% до 90%) является 200 OK [AJ00, PQ00J. Следующим, наиболее часто возвращаемым кодом (от 10% до 30%), является 304 Not Modified. Наиболее частыми кодами ответов из оставшихся являются Зхх (переадресация) и 4xx (ошибки клиента). Например, код 404 Not Found возвращается, когда сервер не может сгенерировать запрашиваемый ресурс. Некоторые сайты используют переадресацию для выравнивания нагрузки нескольких серверов. Например, частота кода ответа 302 Found Redirection меняется от сайта к сайту. Подобная статистика указывает на то, что тесты не должпы рассчитывать, что в ответ на все успешные запросы будет получеп код 200 ОК.

Необходимо учитывать разнообразные факторы, которые обусловливают данный код ответа. Ответ 304 Not Modified возвращается, когда клиент проверяет актуальность копии ресурса в кэше. Web-сайт, где доминируют динамические ресурсы, не будет получать много запросов для проверки актуальности элементов кэша и следовательно не будет носылать мпого ответов с кодом 304 Not Modified. С другой стороны, частота появления кода ответа 304 Not Modified зависит как от частоты измепепий ресурсов, так и от вероятности запроса на кэшированные ресурсы. Web-сайт со статическим содержанием, таким как HTML файлы и встроенные изображения, будет возвращать относительно большое число ответов с кодом 304 Not Modified. Это характерно для сайтов, не использующих заголовки управления кэшированием ответов (т.е. Expires) для указапия того, как долго клиенту Можно благополучно возвращать кэшированный ответ. Без этой информации клиент должен регулярно проверять актуальность кэшированных ответов сервера. В результате число ответов с кодом 304 Not Modified увеличивается, особенно если ресурс запрашивается большим числом пользователей.

Большое число ответов с кодами класса 4xx (ошибки клиента) может указывать на проблемы с организацией Web-сайта или с другими Web-страиицами, на которых имеются гипертекстовые ссылки на данный сайт. Рассмотрим, например, что произойдет, когда администратор реорганизует Web-сайт. Некоторые URL, которые присутствуют на Web-страницах или в закладках пользователей, могут теперь указывать на отсутствующие ресурсы. Большое число ответов 404 Not Found указывает на то, что мпогие запросы используют старые URL. Основываясь на этой информации, администратор сайта может настроить сервер так, чтобы последний трактовал старые гиперссылки как синопимы новых или переадресовывал на новый URL. В некоторых случаях администратор может идентифицировать Web- страницы с устаревшими гиперссылками. Сообщение с кодом 404 Not Found может также говорить о том, что в HTML-файле имеется гипертекстовая ссылка с опечаткой, например, пропущенный символ в URL или ошибочное паиисапие (например, http://www.bar.com/necesary.fig вместо http://www.bar.com/neces- sary.fig)

Влияние распространения новых технологий. Некоторые коды ответов не появляются, пока клиент не использует определенные заголовки запросов. Следовательно, частота появления кодов ответов может зависеть от построения Web-кли- еитов. Например, рассмотрим код ответа 206 Partial Content, используемый в случае, когда сервер возвращает диапазоп байтов запрашиваемого ресурса, как этот было описапо ранее в главе 7 (раздел 7.4.1). Запросы на диапазоны будут становиться все более распространенными по мере того, как реализации прокси-серверов станут поддерживать НТТР/1.1. Кроме того, браузеры могут использовать дополнительные модули, генерирующие запросы на диапазоны. Например, модуль, отображающий PDF-файл, может выдавать запросы на диапазопы для доступа к отдельным страпнцам документа. Новые технологии, повышающие производительность браузеров и прокси-серверов, могут также увеличить число запросов на диапазоны. Например, клиент может кэшировать часть ресурса большого объема и выдавать запрос на диапазон для получения оставшейся части |STR99]. Клиент, выдающий запрос на диапазон в паре с сервером, возвращающим диапазон байтов, увеличивают частоту появления кода ответа 206 Partial Content.

Частота кода ответа 302 Found Redirection варьируется от сайга к сайту. Некоторые Web-сайты используют иереадресацию как способ выравнивания нагрузки для Группы дублирующих друг друга серверов. В этом случае в пачале обработки запроса определяется сервер, которому необходимо перенаправить клиентский запрос, основываясь на загрузке серверов или близости к клиенту. Ответ переадресации дает указание клиенту повторить запрос к альтернативному серверу. Растущие масштабы Web-нриложепий позволяют предположить, что дублирование серверов станет повсеместным, особепио для популярных Web-сайтов. Однако переадресация на уровне HTTP — это только один из путей координации обработки клиентских запросов. Если другие подходы станут более популярными, то частота запросов переадресации может со временем не увеличиться, а уменьшиться. Различные подходы к переадресации клиентских запросов на дублирующие серверы будут детально обсуждаться в главе 11 (раздел 11.12). Код ответа 302 Found Redirection может также возвращаться Web-сайтом, который при попытке доступа к несуществующему ресурсу возвращает страницу, иснользуемую по умолчанию, вместо кода ответа 404 Not Found.

Источник: 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