Механизм совместного использования ресурсов между источниками (CORS) — это механизм безопасности браузера. По умолчанию страница может отправить запрос на другой источник, но не может прочитать ответ. CORS — это набор заголовков ответа, с помощью которых целевой сервер дает браузеру разрешение на просмотр результата именно с этого источника.
Для простых запросов браузер отправляет запрос, а затем не отправляет ответ на страницу, если заголовок Access-Control-Allow-Origin не совпадает. Для всего остального — пользовательского заголовка, типа контента JSON, метода, отличного от GET/POST/HEAD — браузер сначала отправляет предварительный запрос OPTIONS и продолжает работу только в том случае, если ответ разрешает использование метода и заголовков, которые он намеревается использовать. Для учетных данных требуется как заголовок Access-Control-Allow-Credentials, так и указание конкретного источника, никогда не используется подстановочный знак.
Ошибка CORS означает, что запрос не удался. Обычно он прошел успешно — сервер получил его, обработал и ответил, — а браузер отказался передать ответ вашему коду. "CORS error" при отправке POST-запроса может означать, что запись была создана, и вы просто не можете увидеть подтверждение. Это также не защита на стороне сервера: все, что не является браузером, полностью игнорирует CORS.
Выполните любой запрос в режиме Live API со своей страницы и понаблюдайте за предварительным запросом. Отсутствие обработчика OPTIONS отображается как ошибка CORS в консоли и как обычная ошибка 405 на вкладке «Сеть».
Все термины · Приёмы тестирования · Все 39 mock REST API
Последнее обновление