Впервые за 15 лет обновлена спецификация протокола HTTP/1.1

Инженерный комитет IETF, занимающийся протоколами и развитием архитектуры в Интернете, признал устаревшим RFC 2616, выпущенный в 1999 году и определявший HTTP/1.1. также был забракован и RFC 2617, занимавшийся механизмами аутентификации HTTP. Разработана серия обновленных RFC, с учетом современных реалий, появление методов HTML5 и AJAX.
На подготовку новой спецификации HTTP/1.1 у программистов ушло целых 7 лет, создано 26 черновиков, устранено более 550 недоработок и внедрено не менее 2600 инноваций. Обновления разрабатывались специалистами группы HTTPBis, занимающейся и стандартом HTTP/2.0. Разделение RFC на группы было сделано для оптимизации стандарта: в HTTP/2.0 теперь можно ссылаться на типовые технологии, а не заниматься их переопределением. При этом, по отдельности все документы стали более компактными, в то время как прежняя версия RFС состояла из 176 страниц.
Специалисты также значительно упростили и детализировали описание базовых элементов HTTP/1.1. Из текстов были убраны многие формулировки с двойным смыслом.
Из основных нововведений следует отметить стандартизацию кода 308 (статус выполнения запросов), отвечающий за механизм permanent redirect. В отличие от Moved Permanently (код 301), при получении 308-го кода клиентам теперь запрещено менять действующий метод запроса (ранее он сменялся на GET);
Исправлена реакция и на коды 301 и 302.
Для сохранения IP-адреса при оригинальном запросе после сброса соединения через сервер прокси был изменен стандарт заголовка Forwarded, сменившего X-Forwarded-Proto и X-Forwarded-For. Также запрещено разбивать содержимое заголовков на отдельные строки, что исключит возникновение таких уязвимостей, которые манипулируют разделением запросов.
Программисты сняли существовавшее ограничение на два единовременных подсоединения к веб-серверу. Была также прекращена поддержка устаревшего протокола HTTP/0.9 и заголовка Content-MD5, а также удалено использование кодировки ISO-8859-1 по умолчанию. Из других новаций – снятие требования для обязательной обработки всех имеющихся полей Content-* и использования Content-Range в запросах PUT. А при открытии веб-страницы в качестве значения Referer теперь рекомендуется использование about:blank. Это позволит разделить запросы пользователя без перехода от запрещенных Referer.
Содержимое же заголовка Location можно теперь задавать относительно действующего URI.

Вы можете пропустить чтение записи и оставить комментарий. Размещение ссылок запрещено.

Оставить комментарий