Расширяемость HTTP

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

На первых порах существования Web популярностыо пользовались несколько браузеров, периодически появлялись их новые версии. Новые пользователи Web начинают с последней версии браузера. Это позволило вводить новые функции, которые являются зависимыми от браузера. Поскольку число пользователей в Web стало очень большим, трудно ожидать, что все пользователи перейдут к последней версии браузера. Было бы пепрактичпо вводить новые функции, зависимые от возможностей последней версии браузера. Серьезным требованием стала совместимость со старыми версиями браузеров.

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

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