Постоянные соединения Persistent Connections

Постоянные соединения Persistent Connections. Цель. До введения в протокол постоянных соединений для запроса каждого URL устанавливалось отдельное TCP соединение, что увеличивало нагрузку на HTTP сервера и вызывало перегрузку сетей.

Использование встроенных изображений и других связанных данных часто требует от клиента инициировать несколько запросов к одному серверу за короткий промежуток времени.

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

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

То есть если не обозначено иного, клиент может считать, что сервер поддержит постоянное соединение. Постоянные соединения обеспечивают механизм, согласно которому клиент и сервер могут сообщить о разрыве TCP соединения. Это сигнализируется путем использования поля заголовка Connection. 8.1.2.1