Заголовки: Use-As-Dictionary
Заголовок Use-As-Dictionary
Ограниченная доступность
Эта функция не входит в Baseline, поскольку она не работает в некоторых из самых широко используемых браузеров.
Хотите, чтобы эта функция поддерживалась в большем числе браузеров? Расскажите нам почему.
Экспериментальная функция: Это экспериментальная технология
Перед использованием в production-среде внимательно ознакомьтесь с таблицей совместимости браузеров.
Заголовок HTTP-ответа Use-As-Dictionary перечисляет критерии соответствия, которым должен отвечать словарь Compression Dictionary Transport, чтобы его можно было использовать для последующих запросов.
Подробнее см. в руководстве по Compression Dictionary Transport.
Синтаксис
Use-As-Dictionary: match="<url-pattern>"
Use-As-Dictionary: match-dest=("<destination1>" "<destination2>", …)
Use-As-Dictionary: id="<string-identifier>"
Use-As-Dictionary: type="raw"
// Multiple, in any order
Content-Encoding: match="<url-pattern>", match-dest=("<destination1>")
Директивы
match-
Строковое значение, содержащее URL Pattern: этот ресурс можно использовать в качестве словаря только для ресурсов, URL-адреса которых соответствуют этому шаблону. Группы захвата регулярных выражений не допускаются, поэтому значение
URLPattern.hasRegExpGroupsдолжно бытьfalse. match-dest-
Разделенный пробелами список строк, каждая из которых заключена в кавычки, а всё значение — в круглые скобки. В списке указаны назначения запросов Fetch, которым должны соответствовать запросы, чтобы использовать этот словарь.
id-
Строковое значение, задающее идентификатор словаря на сервере. Затем это значение ID будет добавлено в заголовок запроса
Dictionary-ID, когда браузер запросит ресурс, для которого можно использовать этот словарь. type-
Строковое значение, описывающее формат файла предоставленного словаря. В настоящее время поддерживается только
raw(это значение используется по умолчанию), поэтому эта директива нужна преимущественно для совместимости в будущем.
Примеры
>Префикс пути
Use-As-Dictionary: match="/product/*"
Это означает, что словарь следует использовать только для URL-адресов, начинающихся с /product/.
Версионированные каталоги
Use-As-Dictionary: match="/app/*/main.js"
Здесь используется подстановочный знак для соответствия нескольким версиям файла.
Назначения
Use-As-Dictionary: match="/product/*", match-dest=("document")
Здесь используется match-dest, чтобы гарантировать, что словарь применяется только для запросов document, поэтому, например, запросы ресурсов <script src="/product/js/app.js"> не будут соответствовать этому условию.
Use-As-Dictionary: match="/product/*", match-dest=("document" "frame")
В этом случае словарь будет соответствовать как документам верхнего уровня, так и iframe.
Идентификатор
Use-As-Dictionary: match="/product/*", id="dictionary-12345"
Если Use-As-Dictionary содержит директиву id, как в этом примере, значение id будет включено в заголовок запроса Dictionary-ID для ресурсов, которые могут использовать этот словарь. Запрос ресурса также будет содержать SHA-256-хеш словаря, заключенный в двоеточия, в заголовке Available-Dictionary:
Accept-Encoding: gzip, br, zstd, dcb, dcz Available-Dictionary: :pZGm1Av0IEBKARczz7exkNYsZb8LzaMrV7J32a2fFG4=: Dictionary-ID: "dictionary-12345"
Сервер по-прежнему должен проверять хеш из заголовка Available-Dictionary — Dictionary-ID служит дополнительной информацией, помогающей серверу определить словарь, но не отменяет необходимость в заголовке Available-Dictionary.
Тип
Use-As-Dictionary: match="/product/*", type="raw"
В настоящее время поддерживается только raw (это значение используется по умолчанию), поэтому эта директива нужна преимущественно для совместимости в будущем.
Спецификации
Совместимость с браузерами
| Для компьютеров | Для мобильных устройств | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
Use-As-Dictionary |
130 | 130 | Нет | 115 | Нет | 130 | Нет | 86 | Нет | 28.0 | 130 | Нет |
См. также
© 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/Use-As-Dictionary