Заголовки: Keep-Alive
Заголовок Keep-Alive
Базовая поддержка Широко доступно
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и в различных версиях браузеров. Она доступна во всех браузерах с июля 2015 года.
HTTP-заголовок Keep-Alive запроса и ответа позволяет отправителю указать, как можно использовать соединение с точки зрения времени ожидания и максимального количества запросов.
Примечание: Чтобы Keep-Alive имел эффект, сообщение также должно содержать заголовок Connection: keep-alive.
По умолчанию HTTP/1.0 закрывает соединение после каждого обмена запросом и ответом, поэтому постоянные соединения в HTTP/1.0 необходимо согласовывать явно. Некоторые клиенты и серверы могут стремиться к совместимости с предыдущими подходами к постоянным соединениям и могут использовать для этого заголовок запроса Connection: keep-alive. Дополнительные параметры соединения можно запросить с помощью заголовка Keep-Alive.
Предупреждение: Заголовки, относящиеся к конкретному соединению, такие как Connection и Keep-Alive, запрещены в HTTP/2 и HTTP/3. Chrome и Firefox игнорируют их в ответах HTTP/2, однако Safari следует требованиям спецификации HTTP/2 и не загружает ответы, содержащие такие заголовки.
| Тип заголовка | Заголовок запроса, заголовок ответа |
|---|---|
| Запрещённый заголовок запроса | Да |
Синтаксис
Keep-Alive: <parameters>
Директивы
<parameters>-
Список параметров, разделённых запятыми; каждый параметр состоит из идентификатора и значения, разделённых знаком равенства (
=). Возможны следующие идентификаторы:timeout-
Целое число, задающее время в секундах, в течение которого узел будет оставлять неактивное соединение открытым, прежде чем закрыть его. Соединение считается неактивным, если узел не отправляет и не получает данные. Узел может оставлять неактивное соединение открытым дольше
timeoutсекунд, но ему следует пытаться сохранять соединение открытым не менееtimeoutсекунд. max-
Целое число, задающее максимальное количество запросов, которые можно отправить через это соединение, прежде чем оно будет закрыто. Если не указано
0, это значение игнорируется для соединений без конвейерной обработки, поскольку в следующем ответе будет отправлен другой запрос. HTTP-конвейер может использовать это значение для ограничения конвейерной обработки.
Примеры
Ответ, содержащий заголовок Keep-Alive:
HTTP/1.1 200 OK Connection: Keep-Alive Content-Encoding: gzip Content-Type: text/html; charset=utf-8 Date: Thu, 11 Aug 2016 15:23:13 GMT Keep-Alive: timeout=5, max=200 Last-Modified: Mon, 25 Jul 2016 04:32:39 GMT Server: Apache (body)
Спецификации
Совместимость с браузерами
| Настольные компьютеры | Мобильные устройства | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | WebView на iOS | |
Keep-Alive |
1 | 12 | 1 | 15 | 1 | 18 | 4 | 14 | 1 | 1.0 | 4.4 | 1 |
См. также
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Keep-Alive