Spec-Zone.ru › HTTP

Заголовки: If-Match

Заголовок If-Match

Базовая поддержка Широко доступно

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и во многих версиях браузеров. Она поддерживается браузерами с июля 2015 года.

  • Подробнее
  • Полная информация о совместимости
>

HTTP If-Match заголовок запроса делает запрос условным. Сервер возвращает ресурсы для методов GET и HEAD или загружает ресурс для метода PUT и других небезопасных методов, только если ресурс совпадает с одним из значений ETag в заголовке запроса If-Match. Если условие не выполнено, вместо этого возвращается ответ 412 Precondition Failed.

Сравнение с сохранённым ETag выполняется с помощью алгоритма строгого сравнения, то есть два файла считаются идентичными побайтно. Если в списке ETag имеет префикс W/, указывающий на слабый тег сущности, этот алгоритм сравнения никогда не сочтёт его совпадающим.

Существует два распространённых сценария использования:

  • Для методов GET и HEAD, используемых вместе с заголовком Range, он гарантирует, что запрошенные новые диапазоны относятся к тому же ресурсу, что и предыдущие.
  • Для других методов, особенно для PUT, If-Match можно использовать для предотвращения проблемы потерянного обновления. С его помощью можно проверить, не перезапишет ли изменение ресурса, который пользователь хочет загрузить, другое изменение, внесённое после получения исходного ресурса.
Тип заголовка Заголовок запроса
Запрещённый заголовок запроса Нет

Синтаксис

If-Match: <etag_value>
If-Match: <etag_value>, <etag_value>, …

Директивы

<etag_value>

Теги сущности, однозначно идентифицирующие запрошенные ресурсы. Это строки из символов ASCII, заключённые в двойные кавычки (например, "675af34563dc-tr34"). Перед ними может стоять префикс W/, указывающий на то, что они «слабые», то есть представляют ресурс семантически, но не побайтно. Однако в заголовке If-Match слабые теги сущности никогда не совпадают.

*

Звёздочка — специальное значение, представляющее любой ресурс. Обратите внимание: оно должно совпадать как false, если исходный сервер не располагает текущим представлением целевого ресурса.

Примеры

If-Match: "bfc13a64729c4290ef5b2c2730249c88ca92d82d"

If-Match: "67ab43", "54ed21", "7892dd"

If-Match: *

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

Спецификация
Семантика HTTP>
# field.if-match>

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

Настольные компьютеры Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome для Android Firefox для Android Opera для Android Safari для iOS Samsung Internet WebView для Android WebView для iOS
If-Match 1 12 1 15 1 18 4 14 1 1.0 4.4 1

См. также

  • ETag
  • If-None-Match, If-Modified-Since, If-Unmodified-Since — заголовки условного запроса
  • 412 Precondition Failed

© 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/If-Match

Spec-Zone.ru

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