Підготовчий запит

{{GlossarySidebar}}

Підготовчий запит CORS (попередній запит, передполітний запит) – це запит CORS, який перевіряє, чи розуміє сервер протокол CORS, за допомогою певних методів і заголовків.

Це запит OPTIONS, що використовує два або три заголовки запиту HTTP: Access-Control-Request-Method, Origin і, за потреби, Access-Control-Request-Headers.

Підготовчий запит автоматично надсилається браузером, і, як правило, розробники фронтенду не повинні самостійно формувати такі запити. Він з'являється, коли запит вважається "таким, що потребує попередньої підготовки", і пропускається для простих запитів.

Наприклад, клієнт міг би запитати сервер, чи дозволить він запит DELETE, перед тим, як надіслати запит DELETE, за допомогою підготовчого запиту:

OPTIONS /resource/foo
Access-Control-Request-Method: DELETE
Access-Control-Request-Headers: Origin, X-Requested-With
Origin: https://foo.bar.org

Якщо сервер це дозволяє, то він відповідає на підготовчий запит заголовком відповіді Access-Control-Allow-Methods, який містить DELETE:

HTTP/1.1 204 No Content
Connection: keep-alive
Access-Control-Allow-Origin: https://foo.bar.org
Access-Control-Allow-Methods: POST, GET, OPTIONS, DELETE
Access-Control-Allow-Headers: Origin, X-Requested-With
Access-Control-Max-Age: 86400

Підготовчий запит може за потреби кешуватися для запитів, створених за допомогою того самого URL, за допомогою заголовка Access-Control-Max-Age, як у прикладі вище. Для кешування підготовчих відповідей браузер використовує окремий кеш, окремий від загального кешу HTTP, яким керує. Підготовчі відповіді ніколи не кешуються в загальному кеші HTTP браузера.

Дивіться також