RFC: 2068
Оригинал: Hypertext Transfer Protocol - HTTP/1.1
Другие версии: RFC 2616
Категория: Предложенный стандарт
Дата публикации:
Авторы: , , , ,
Перевод: Алексей Симонов

8. Соединения (Connections)

8.1. Постоянные соединения (Persistent Connections)

8.1.1. Цель

До постоянных соединений для запроса каждого URL устанавливалось отдельное TCP соединение, что увеличивало нагрузку на HTTP сервера и вызывало загрузку Интернета. Использование встроенных изображений и других связанных данных часто требует от клиента делать несколько запросов к одному серверу за короткий промежуток времени. Исследования проблем эффективности такого решения доступны в [30][27]; анализ и результаты реализации прототипа находятся в [26].

Постоянные HTTP соединения имеют ряд преимуществ:

  • Открытие и закрытие меньшего количества TCP соединений экономит время центрального процессора и память, используемую для управляющих блоков протокола TCP.
  • HTTP запросы и ответы может быть конвейеризованы в соединении. Конвейерная обработка позволяет клиенту делать множество запросов не ожидая ответа на каждый, следовательно, одиночное TCP соединение, использование которого намного более эффективно, теряет меньше времени.
  • Загрузка сети уменьшается с уменьшением числа пакетов, вызванных открытием TCP соединений, и, следовательно, дает протоколу TCP достаточное время для определения состояния загрузки сети.
  • HTTP может развиваться более элегантно; так как ошибки могут сообщаться без закрытия TCP соединения в качестве штрафа. Клиенты, использующие будущие версии HTTP могли бы оптимистично пробовать новые возможности, но при связи со старым сервером, повторять запрос, используя старую семантику после сообщения об ошибке.

HTTP реализациям СЛЕДУЕТ реализовывать постоянные соединения.

2007 - 2017 © Русские переводы RFC, IETF, ISOC.