Spec-Zone.ru › HTTP

Заголовки: приоритет

Заголовок 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

Спецификации

Спецификация
Расширяемая схема приоритизации для HTTP>
# поле заголовка>

Совместимость с браузерами

Компьютеры Мобильные устройства
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 Нет

См. также

  • Cache-Control
  • Vary

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API