From e305581de979d551360f92197e22823cb2a39a60 Mon Sep 17 00:00:00 2001 From: G455-JS <158074764+G455-JS@users.noreply.github.com> Date: Mon, 29 Jan 2024 21:37:16 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20?= =?UTF-8?q?=D0=B7=D0=B0=D0=B3=D0=BE=D0=BB=D0=BE=D0=B2=D0=BE=D0=BA=20Access?= =?UTF-8?q?-Control-Allow-Origin=20=D0=B2=203=D1=85=20=D0=BC=D0=B5=D1=81?= =?UTF-8?q?=D1=82=D0=B0=D1=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit В «Непростые» запросы, Шаг 2 (ответ сервера на предзапрос) не указан заголовок Access-Control-Allow-Origin. Думаю что его отображение важно для лучшего понимания процессов указанных в этом шаге. Поэтому я добавил его вместе со значением https://javascript.info в 3х местах. --- 5-network/05-fetch-crossorigin/article.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/5-network/05-fetch-crossorigin/article.md b/5-network/05-fetch-crossorigin/article.md index 81c7a1d06a..aec04aeec7 100644 --- a/5-network/05-fetch-crossorigin/article.md +++ b/5-network/05-fetch-crossorigin/article.md @@ -257,6 +257,7 @@ Access-Control-Request-Headers: Content-Type,API-Key ### Шаг 2 (ответ сервера на предзапрос) Сервер должен ответить со статусом 200 и заголовками: +- `Access-Control-Allow-Origin: https://javascript.info` - `Access-Control-Allow-Methods: PATCH` - `Access-Control-Allow-Headers: Content-Type,API-Key`. @@ -266,12 +267,13 @@ Access-Control-Request-Headers: Content-Type,API-Key ```http 200 OK +Access-Control-Allow-Origin: https://javascript.info Access-Control-Allow-Methods: PUT,PATCH,DELETE Access-Control-Allow-Headers: API-Key,Content-Type,If-Modified-Since,Cache-Control Access-Control-Max-Age: 86400 ``` -Теперь, когда браузер видит, что `PATCH` есть в `Access-Control-Allow-Methods`, а `Content-Type,API-Key` - в списке `Access-Control-Allow-Headers`, он посылает наш основной запрос. +Теперь, когда браузер видит, что `https://javascript.info` есть в `Access-Control-Allow-Origin`, `PATCH` в `Access-Control-Allow-Methods`, а `Content-Type,API-Key` - в списке `Access-Control-Allow-Headers`, он посылает наш основной запрос. Кроме того, ответ на предзапрос кешируется на время, указанное в заголовке `Access-Control-Max-Age` (86400 секунд, один день), так что последующие запросы не вызовут предзапрос. Они будут отосланы сразу при условии, что соответствуют закешированным разрешениям.