Проверяет понимание механизма CORS и условий, при которых браузер отправляет предварительный OPTIONS-запрос.
Preflight-запрос — это механизм безопасности браузера, реализованный в рамках политики CORS (Cross-Origin Resource Sharing). Когда веб-страница пытается отправить HTTP-запрос на другой домен, браузер может сначала отправить предварительный запрос методом OPTIONS, чтобы узнать, разрешает ли сервер такой кросс-доменный запрос. Это защищает сервер от неожиданных запросов, которые могут быть опасными.
Preflight-запрос отправляется, если основной запрос не является «простым». Простым считается запрос, который удовлетворяет всем условиям:
Если запрос использует другой метод (например, PUT, DELETE, PATCH) или содержит нестандартные заголовки (например, Authorization, X-Custom-Header), браузер автоматически отправляет preflight.
Предположим, фронтенд на http://example.com хочет отправить DELETE-запрос на http://api.example.com/resource. Браузер сначала отправит OPTIONS-запрос:
OPTIONS /resource HTTP/1.1
Host: api.example.com
Origin: http://example.com
Access-Control-Request-Method: DELETE
Access-Control-Request-Headers: AuthorizationСервер должен ответить с заголовками, разрешающими запрос:
HTTP/1.1 204 No Content
Access-Control-Allow-Origin: http://example.com
Access-Control-Allow-Methods: DELETE
Access-Control-Allow-Headers: AuthorizationПосле этого браузер отправит основной DELETE-запрос.
Preflight-запросы — это важная часть безопасности веб-приложений, предотвращающая неавторизованные кросс-доменные запросы. Их нужно учитывать при разработке API, чтобы сервер корректно обрабатывал OPTIONS-запросы и возвращал правильные CORS-заголовки. Это особенно актуально для REST API, которые используются с фронтендом на другом домене.
Уровень
Рейтинг:
4
Сложность:
5
Навыки
JavaScript
Networks
Ключевые слова
Подпишись на React Developer в телеграм
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию