Что такое HTTP/1.1 keep-alive?

Junior
290 просмотров
AFK Offer AI

В HTTP/1.0 каждый запрос — новое TCP соединение (handshake + request + response + close). Keep-alive позволяет переиспользовать одно соединение для нескольких запросов последовательно. В HTTP/1.1 keep-alive включён по умолчанию. Экономит время на handshake и slow start. Но запросы всё равно последовательные в рамках одного соединения — head-of-line blocking. Браузеры открывают 6-8 параллельных соединений к домену. Go http.Client переиспользует соединения через transport pool автоматически. Важно закрывать resp.Body, иначе соединение не вернётся в пул.

Следующий вопрос

Как написать generic функцию?