
532
Часть
VI.
Перспективы исследований
сылать код состояния 200 ОК и включать в ответы соответствующие заголовки, та-
кие как Date и либо Content-Length, либо Transfer-Encoding: chunked. Свыше
70%
серверов являются безусловно совместимыми при работе с методом HEAD.
При этом требуется, чтобы ответ содержал те же заголовки содержимого, что и от-
вет на запрос GET, а также, чтобы ответ имел надлежащий заголовок Date.
Серверы Apache и Microsoft-IIS показали себя с наилучшей стороны: они вы-
держали тесты. Около 20% серверов Netscape-Enterprise не выдержало всех тестов.
Последним версиям Netscape-Enterprise свойственно большее количество проблем,
чем более ранним версиям. Хотя результаты были агрегированы по всем тестиро-
ванным серверам, между группами серверов Apache, Microsoft-HS и Netscape-
Enterprise имеются значительные различия. Свыше одной пятой всех серверов не
прошло, по меньшей мере, один из трех тестов. На момент проведения последнего
исследования осенью 2000 года доля серверов, не прошедших тестов, составляла
еще около 20%, хотя количество серверов, не выдержавших все три теста, несколь-
ко уменьшилось.
Тесты второй категории предусматривали проверку важных новых функций,
появившихся в НТТР/1.1, таких как долговременные срединения, конвейеризация
и запросы па диапазоны. Как обсуждалось в главе 7 (раздел 7.5.2), долговременные
соединения относятся к требованиям уровня SHOULD (Желательно). Однако
из-за выгоды, которую приносят долговременные соединения, они приняты
в НТТР/1.1 по умолчанию. Другими словами, сервер должен быть явным образом
настроен, если необходимо запретить долговременные соединения. Около 70%
серверов поддерживают долговременные соединения. Примерно столько же серве-
ров способны обслуживать конвейерные запросы. Однако лишь гюловина из под-
вергнутых тестированию серверов оказалась способна обслуживать запросы на
диапазоны. Опять-таки, возможность обработки запросов на диапазоны является
требованием уровня SHOULD (Желательно) в спецификации протокола. В целом
при проведении тестов второй категории только 40% серверов оказались полно-
стью совместимыми, а 20% серверов не прошли все тесты. Третье исследование,
выполненное осенью 2000 г., не показало каких-либо значительных улучшений от-
носительно двух предыдущих исследований.
Объединенные тесты первой и второй категорий прршло примерно 30% серве-
ров,
а 7% серверов провалило все тесты.
Наконец, тесты третьей категории ориентированы на менее значимые функции,
такие как редко используемые методы (OPTIONS, TRACE), потенциально риско-
ванные ситуации (длинные URL) и различные форматы представления дат. Хотя
тестируемые методы пока еще используются мало, в будущем ситуация может из-
мениться. Метод OPTIONS (см. главу 7, раздел 7.7.1) может использоваться для
получения информации о функциональных возможностях сервера. Отправитель
может, например, проверить, способен ли сервер обслуживать передачу с сообще-
ний, разделенных на фрагменты, прежде чем отправить запрос.
Наиболее показательный тест состоял в проверке обработки длинных URI запро-
сов.
Ряд серверов не проверял переполнение буфера, что приводило к ненормальному
функционированию серверного программного обеспечения. К счастью, эти ошибки
бьиш быстро устранены после того, как авторы исследования уведомили разработчи-
ков программного обеспечения серверов. Принимая во внимание, что для многих ком-
паний, занимающихся электронной коммерцией, требуется, чтобы их Web-сайты
были постоянно доступными, подобная простая проблема не должна остаться без вни-
мания. Наличие таких проблем заключается в том, что разработчики, как правило,
уделяют требованиям совместимости уровня SHOULD меньше внимания, а возмож-