
222 Часть III. Web-протоколы
ва. Предложение по стандарту должно минимум шесть месяцев оставаться па
данной стадии, прежде чем осуществляется переход па уровень проекта стан-
дарта, хотя этот период может продолжаться значительно дольше. На уровне
проекта стандарта документ должен находиться четыре месяца или, по мень-
lueii мере, до следующего заседания IETF (независимо от срока), прежде чем
можно будет перейти к этапу стандарта Internet.
Процесс эволюции протокола HTTP был осложнен появлением промежуточного
документа — предложения по стандарту RFC 2068 [ЕОМ^97|, в котором было за-
фиксировано состояние дискуссий по НТТР/1.1 на то время. К сожалению, доку-
мент, представленный на рассмотрение в качестве предложения по стандарту
НТТР/1.1,
обсуждался дольше, чем обычгю, и был принят в качестве предложения
по стандарту только в январе 1997 г. Частично из-за неудачного стечения обстоя-
тельств, появление большинства новых версий браузеров совпа;ю по времени с по-
явлением RFC 2068. Вскоре некоторые реализации клиентов и серверов в общем и
целом совместимые со спецификацией, описанной в RFC 2068, стали претендовать
на то, чтобы считаться совместимыми НТТР/1.1, хотя спецификация протокола
НТТР/1.1 была всего лишь па этапе предложения по стандарту, а не стандарта
Internet. Этот номер версии быстро стал притчей во языцех, поскольку Web-серверы
претендовали на то, что они реализуют «стандарт» НТТР/1.1, который в то время не
существовал (и не существует на момент публикации этой книги). Таким образом,
хотя спецификация вскрыла существующие проблемы (и зафиксировала их в разде-
ле 19.6.3 RFC 2616), программное обеспечение, реализующее спецификацию, изме-
нялось не так быстро. Тем не менее, появление RFC 2068 послужило поводом для
тес'гирования различных программных компонентов, реализующих спецификацию.
Таким образом, усилия по стандартизации протокола НТТР/1.1 усугублялись
дополнительными проблемами, связанными с обеспечением совместимости с брау-
зерами и серверами, реализующими RFC 2068. Проект стандарта RFC 2616
[FGM'99J вышел в июне 1999 г. Предполагалось, что этот проект станет официаль-
ным стандартом Internet в 2001. Одна из причин задержки заключается в том, что
стандарт IETF не может быть оформлен официально до тех пор, пока из пего не
будут удалены «ненормативные» ссылки. В случае с НТТР/1.1 это ссылка на
Ml ME ^E-mail Encapsulation (MHTML, RFC 2110 [PH97]), документ который впо-
следствии был заменен документом RFC 2557 [PH99J.
7.1.2. Проблемы, связанные с НТТР/1.0
Считалось необходимым изменить НТТР/1.0 в различных областях.
В RFC 2616 (в разделе 19.6.1) перечислено несколько изменений в НТТР/1.1 по
сравнению с НТТР/1.0. Более обширный список отличий был представлен в рабо-
те IKMK99J, здесь используется расширенная версия этой систематики. Полный
список проблем, связанных с НТТР/1.0, можно представить следующим образом:
• Отсутствие возможностей управления продолжительностью кэширования,
местОхМ кэширования и вариантами специальных запросов и ответов для кэ-
инфования.
• Загрузка всего содержимого ресурса, в то время как нужна только небольшая его
часть и отсутствие возможности возобновления прерванной передачи данных.
• Недостатки использования в TCP для коротких ответов, типичных для Web.
• Отсутствие гарантии полного получения динамически генерируемых ответов.