Sec-Fetch-Site
Sec-Fetch-Site
Заголовок метаданных запроса fetch Sec-Fetch-Site запроса метаданных fetch указывает на взаимосвязь между источником инициатора запроса и источником запрашиваемого ресурса.
Другими словами, этот заголовок сообщает серверу, поступает ли запрос на ресурс из того же источника, из того же сайта, с другого сайта или является ли это "инициативным" запросом пользователя. Сервер может использовать эту информацию для принятия решения о том, следует ли разрешить запрос.
Запросы из одного источника обычно разрешаются по умолчанию, но то, как обрабатываются запросы из других источников, может зависеть от запрашиваемого ресурса или информации в других заголовках метаданных запроса Fetch. По умолчанию запросы, которые не принимаются, должны отклоняться с кодом ответа 403.
| Тип заголовка | Заголовок метаданных запроса Fetch |
|---|---|
| Запрещённое имя заголовка | да (префикс Sec-) |
| Заголовок запроса, разрешённый CORS | нет |
Синтаксис
Sec-Fetch-Site: cross-site Sec-Fetch-Site: same-origin Sec-Fetch-Site: same-site Sec-Fetch-Site: none
Директивы
cross-site-
Инициатор запроса и сервер, на котором размещён ресурс, имеют разные сайты (например, запрос от "potentially-evil.com" к ресурсу на "example.com").
same-origin-
Инициатор запроса и сервер, на котором размещён ресурс, имеют один и тот же источник (один и тот же протокол, хост и порт).
same-site-
Инициатор запроса и сервер, на котором размещён ресурс, имеют один и тот же протокол, домен и/или поддомен, но необязательно один и тот же порт.
none-
Этот запрос — это операция, инициированная пользователем. Например, ввод URL-адреса в адресную строку, открытие закладки или перетаскивание файла в окно браузера.
Примеры
Запрос fetch к https://mysite.example/foo.json, исходящий с веб-страницы на https://mysite.example (с тем же портом), является запросом из одного источника. Браузер сгенерирует заголовок Sec-Fetch-Site: same-origin как показано ниже, и сервер обычно позволит этот запрос:
GET /foo.json Sec-Fetch-Dest: empty Sec-Fetch-Mode: cors Sec-Fetch-Site: same-origin
Запрос fetch к тому же URL с другого сайта, например potentially-evil.com, заставляет браузер генерировать другой заголовок (например, Sec-Fetch-Site: cross-site), который сервер может принять или отклонить:
GET /foo.json Sec-Fetch-Dest: empty Sec-Fetch-Mode: cors Sec-Fetch-Site: cross-site
Спецификации
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari на IOS | Samsung Internet | |
Sec-Fetch-Site |
76 |
79 |
90 |
Нет |
63 |
Нет |
76 |
76 |
90 |
54 |
Нет |
12.0 |
См. также
- Связанные заголовки
- Защита ваших ресурсов от атак в сети с помощью метаданных Fetch (web.dev)
- Игровое поле для заголовков метаданных запросов Fetch (secmetadata.appspot.com)
© 2005–2022 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Sec-Fetch-Site