
Глава
15.
Перспективы исследований протоколов
513
же проливает свет на то, как возникают определенные идеи, которые требуют вне-
сения изменений в протокол, а также на то, как протокол продолжает развиваться
с учетом таких изменений.
Типичным механизмом, с помощью которого можно достичь двух целей, заклю-
чающихся в уменьшении числа пакетов, передаваемых через Internet, и времени
ожидания на стороне пользователя, является сжатие данных. Ответ может быть
сжат отправителем (как правило, исходным сервером) и подвергнут декомпрессии
получателем. При этом передается меньший объем данных, а время, затрачиваемое
на передачу этих данных, обычно уменьшается. В процессе эволюции протокола
НТТР/1.1 было замечено, что многие Web-ресурсы передавались в несжатом виде.
Сжатие да1Н1ых функционально доступно и в НТТР/1.0. Текст, который хорошо
поддается сжатию, по-прежнему составляет значительную часть Web-трафика.
Текстовые ресурсы обычно имеют меньший размер по сравнению с изображения-
ми,
а популярные форматы изображений уже являются сжатыми (например, GIF,
JPEG).
Наличие и доступность алгоритмов быстрой компрессии и декомпрессии
для текстовых документов сделало этот подход еще более привлекательным. Кроме
того,
можно использовать тот или иной алгоритм сжатия в зависимости от типа со-
держания. Например, могут быть использованы специализированные словари, ко-
торые учитывают частотные характеристики появления символов алфавита данно-
го языка. Такие словари создаются для оптимизации поиска часто используемых
в языке слов. Помимо компрессии сообщений программным путем, модемы могут
выполнять свое собственное сжатие. Однако с учетом того, что Web-сообщеиие
проходит по множеству каналов, модемы представляют лишь один из многих сег-
ментов пути передачи данных. Поскольку меньший объем данных обычно переда-
ется за меньшее время, можно достичь совокупной экономии, учитывая, что ответ
перемещается от отправителя к получателю через множество сегментов. Экспери-
менты показали, что традиционное сжатие данных дает значительно больший эф-
фект, чем сжатие, выполняемое модемами [Nie97].
Особая проблема связана с использованием протоколом HTTP в качестве
транспортного механизма протокола TCP. Затраты на ожидание первого пакета
TCP выше, чем для последующих пакетов. При передаче контейнерного документа,
состоящего из текста (HTML) и изображений, сначала загружается HTML, а затем
изображения. Сжатие HTML-страницы (которая часто находится в первом пакете)
приведет к тому, что последующие изображения будут поступать быстрее. Общее
время ожидания контейнерного документа снижается. Браузер может быстрее на-
чать отображать документ, сокращая тем самым время ожидания на стороне поль-
зователя.
Сжатие является общим механизмом уменьшения объема данных, передавае-
мых между отправителем и пмучателем. Для задания способа сжатия могут быть
использованы существующие механизмы HTTP, такие как заголовки Accept-
Encoding и Content-Encoding. Другой способ уменьшить объем данных состоит
в использовании условных запросов в HTTP, например, заголовок If-Modifled-
Since используется для извлечения ресурса только в том случае, если он бьш моди-
фицирован после определенного момента времени, указанного в запросе. Это по-
лезно при наличии кэшей, в которых хранятся предыдущие версии ответов..
Механизм запросов на диапазоны в НТТР/1.1 был шагом в этом направлении и
дал возможность передавать только части ресурса. Однако механизм запросов на
диапазоны годится для отправки только непрерывных фрагментов ресурса. Пред-
положим, что ресурс изменяется так, что с помощью запроса на диапазон могут
быть запрошены только новые фрагменты ресурса. Подобный запрос приведет