Заголовки: приоритет
Заголовок Priority
Заголовок HTTP Priority указывает предпочтение клиента относительно порядка приоритетов, в котором следует отправлять ответ с запрошенным ресурсом по сравнению с другими запросами ресурсов в том же соединении. Если в запросе заголовок не указан, предполагается приоритет по умолчанию. Сервер также может включить этот заголовок в ответы, чтобы сообщить о заинтересованности в изменении предпочтений клиента относительно приоритизации. В ответах эта информация может использоваться в качестве входных данных для процесса приоритизации кэширующими серверами и другими серверами, которые пересылают ответ.
Сервер не обязан следовать приоритизации клиента и может использовать клиентские приоритеты только в качестве подсказок для собственного процесса приоритизации. Например, сервер может знать, что конкретное изображение крайне важно для пользовательского опыта и должно быть отправлено с наивысшим приоритетом. На приоритизацию сервера также могут влиять такие факторы, как перегрузка сети.
Этот запрос может кэшироваться, и сервер должен контролировать возможность кэширования или применимость кэшированного ответа с помощью полей заголовка, управляющих кэшированием, таких как Cache-Control и Vary.
Примечание: Этот заголовок — часть «Расширяемой схемы приоритизации для HTTP», определённой в RFC 9218. Также существуют кадры PRIORITY_UPDATE в HTTP/2 и HTTP/3, которые можно использовать для повторной приоритизации запроса ресурса после его отправки. Запрос можно отправить с использованием любой версии HTTP.
| Тип заголовка | Заголовок запроса, Заголовок ответа |
|---|---|
| Запрещённый заголовок запроса | Нет |
Синтаксис
Priority: u=<priority> Priority: i Priority: u=<priority>, i
Директивы
u=<priority>-
Параметр «срочность» (
u) задаёт значение приоритета<priority>для ресурса. Это целое число от 0 до 7 включительно, причём числа идут в порядке убывания приоритета (0 — наивысшая срочность). Значение приоритета запросов по умолчанию — 3. Для ответов значение приоритета по умолчанию не задано: отсутствие заголовка в ответе означает, что сервер решил не изменять приоритет клиента. Значение приоритета 7 следует использовать только для ресурсов, которые вряд ли повлияют на пользовательский опыт, например для фоновых задач или доставки обновлений программного обеспечения.Браузеры должны запрашивать документы, которые, вероятно, будут использовать другие ресурсы, с приоритетом по умолчанию. Затем следует запрашивать указанные в документе ресурсы, используя значения, отражающие относительное влияние времени их получения на пользовательский опыт.
Серверы могут иначе оценивать приоритет, чем клиент, и могут отвечать с другим значением, чтобы передать промежуточным серверам подсказку о приоритете. Промежуточный сервер может учитывать это значение наряду с исходным приоритетом запроса. Отсутствие заголовка
Priorityв ответе означает, что сервер решил не изменять приоритет клиента. i-
Директива «инкрементально» (
i), если она присутствует, указывает, что ответ HTTP можно обрабатывать инкрементально.К ресурсам, которые можно обрабатывать инкрементально, относятся те, с которыми получатель потенциально может выполнять полезные действия сразу после получения очередного фрагмента, не дожидаясь загрузки ресурса целиком.
Если браузер задаёт эту директиву, сервер может одновременно обслуживать все инкрементальные запросы с одинаковой срочностью. Это распределяет несколько запросов по полосе пропускания соединения: обработка всех запросов начинается раньше, но их полное выполнение занимает больше времени.
Если браузер не задаёт эту директиву, это означает, что он не будет обрабатывать ресурс инкрементально. В этом случае серверы должны отправлять ответы с одинаковой срочностью по одному, в порядке создания соответствующих запросов.
Примечание: Ожидается, что серверы будут игнорировать директивы этого заголовка, которые им неизвестны. Предполагается, что новые директивы, добавляемые в будущем, будут совместимы с существующими, чтобы их можно было безопасно игнорировать.
Примеры
>Настройка срочности ресурса
В следующем примере показан запрос HTML-файла. Срочность не задана, поэтому используется значение по умолчанию — 3, а i имеет значение false. Это обычная настройка для документа, который ссылается на другие ресурсы.
:method = GET :scheme = https :authority = example.net :path = /index.html
Запрос ниже может быть последующим запросом CSS-файла, используемого HTML-документом. Срочность установлена в значение 2, что указывает на довольно высокий приоритет, заданный браузером, но i не задан, поскольку CSS-файл нельзя обрабатывать инкрементально.
:method = GET :scheme = https :authority = example.net :path = /style.css priority = u=2
Примечание: В запросах выше используется удобочитаемый формат из спецификаций HTTP/2 или HTTP/3. Формат HTTP/1.1, используемый в большей части этой документации, выглядел бы примерно так:
GET /style.css HTTP/1.1 Host: example.net Priority: u=2
Ответ может выглядеть так, как показано ниже. Обратите внимание, что в данном случае priority не указан, то есть сервер не счёл нужным изменять приоритет для промежуточных серверов.
:status: 200 content-type: text/css content-length: 610 date: [current date]
Настройка инкрементальной директивы
В заголовке ниже показан запрос браузера для изображения, которое можно отрисовывать инкрементально. В этом случае приоритет установлен в значение 4 (ниже приоритета по умолчанию, равного 3), а i установлена, указывая, что клиент может обрабатывать JPG-файл инкрементально.
:method = GET :path = /image.jpg :scheme = https :authority = example.net priority = u=4, i
Сервер может отправить ответ, подобный приведённому ниже. В этом случае приоритет установлен в значение 1, что указывает на то, что сервер считает нужным отправить это изображение с высоким приоритетом.
:status: 200 content-type = image/jpeg content-length = 610 ... priority = u=1, i
Спецификации
Совместимость с браузерами
| Компьютеры | Мобильные устройства | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome для Android | Firefox для Android | Opera для Android | Safari в iOS | Samsung Internet | WebView для Android | WebView в iOS | |
Priority |
124 | 124 | 128 | 110 | Нет | 124 | 128 | 82 | Нет | 27.0 | 124 | Нет |
См. также
© 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/Priority