From 074785cea106179cb3305637055ab0a009ca74f2 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:42:52 -0500 Subject: initial commit --- files/ru/web/api/request/mode/index.html | 78 ++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 files/ru/web/api/request/mode/index.html (limited to 'files/ru/web/api/request/mode') diff --git a/files/ru/web/api/request/mode/index.html b/files/ru/web/api/request/mode/index.html new file mode 100644 index 0000000000..335261f175 --- /dev/null +++ b/files/ru/web/api/request/mode/index.html @@ -0,0 +1,78 @@ +--- +title: Request.mode +slug: Web/API/Request/mode +translation_of: Web/API/Request/mode +--- +
{{APIRef("Fetch")}}
+ +
+ +

Read-only свойство mode интерфейса {{domxref("Request")}} описывает режим запроса (например, cors, no-cors, same-origin или navigate.) Используется для проверки, вызывает ли кросс-доменный запрос корректный ответ, и какие свойства ответа доступны для чтения.

+ +

Синтаксис

+ +
var myMode = request.mode;
+ +

Значения

+ +
+
+

Значения RequestMode.

+
+
+

Соотвествующие доступные значения:

+ +
    +
  • same-origin — Если запрос сделан к другому origin в этом режиме, то это вызовет ошибку. Можно использовать этот режим, чтобы проверить, что запрос всегда будет обращён к тому же origin, что  и текущий.
  • +
  • no-cors — Разрешает использование только HEAD, GET или POST методов и простых заголовков (т.е. разрешены только простые запросы). Если какой-либо ServiceWorkers перехватит запрос, то он не сможет добавить или изменить заголовки, кроме простых. Также, для JavaScript может быть ограничен доступ к любому свойству объекта ответа {{domxref("Response")}}. Это позволяет наверняка знать, что ServiceWorkers не изменили семантику и предотвратить проблемы безопасности и конфиденциальности, возникающие при утечке данных между доменами.
  • +
  • cors — Разрешает кросс-доменные запросы. Например, чтобы получить доступ к некому API, предоставляемое третей стороной. Ожидается, что запрос в этом режиме будет придерживаться CORS протокола. В объекте ответа {{domxref("Response")}} доступен ограниченный набор заголовков, но тело доступно для чтения.
  • +
  • navigate — Режим, поддерживающий навигацию. Значение navigate предназначено только для использования в HTML навигации. Запрос в этом режиме создаётся только во время навигации между страницами.
  • +
+
+
+ +

Default mode

+ +

Запрос может быть создан разными способами и режим запроса зависит от конкретных средств, с помощью которых он был инициирован.

+ +

Например, когда объект Request создаётся с помощью конструктора {{domxref("Request.Request")}}, свойство mode этого Request будет иметь значение cors.

+ +

Однако, запросы созданные не конструктором {{domxref("Request.Request")}}, будут использовать режим no-cors. Например, для встроенных ресурсов, где запрос инициируется из разметки, если отсуствует атрибут crossorigin, то запрос в большинстве случаев будет выполнен в режиме no-cors — то есть для элементов {{HTMLElement("link")}} или {{HTMLElement("script")}} (кроме использования с модулями), или {{HTMLElement("img")}}, {{HTMLElement("audio")}}, {{HTMLElement("video")}}, {{HTMLElement("object")}}, {{HTMLElement("embed")}}, или {{HTMLElement("iframe")}}.

+ +

Пример

+ +

В этой части кода создаётся новый запрос (для взятия файла картинки) через конструктор {{domxref("Request.Request()")}}, затем полученный режим сохраняется в переменной:

+ +
var myRequest = new Request('flowers.jpg');
+var myMode = myRequest.mode; // вернёт "cors" по умолчанию
+ +

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

+ + + + + + + + + + + + + + +
SpecificationStatusComment
{{SpecName('Fetch','#dom-request-mode', 'mode')}}{{Spec2('Fetch')}}Initial definition
+ +

Browser compatibility

+ + + +

{{Compat("api.Request.mode")}}

+ +

See also

+ + -- cgit v1.2.3-54-g00ecf