Вопрос на собеседовании · Frontend-разработчик
Что такое CORS и почему запрос блокируется?
Короткий ответ, ключевые тезисы и ошибки, которых стоит избежать на интервью.
CORS — это механизм, с помощью которого сервер сообщает браузеру, каким внешним источникам разрешено читать его ответы. Ограничение применяет браузер в рамках same-origin policy; сам HTTP-запрос в некоторых случаях успевает дойти до сервера.
Для непростого запроса браузер сначала отправляет preflight-запрос OPTIONS. Сервер должен разрешить origin, метод и заголовки. Настройка fetch на клиенте не может самостоятельно выдать такое разрешение — корректные CORS-заголовки должен вернуть сервер.
01 · Структура ответа
Что важно сказать интервьюеру
Начните с определения, затем объясните механизм и закончите примером из практики. Для полного ответа раскройте эти тезисы:
02 · Пример
Как объяснить на практике
Приложение с https://app.example запрашивает https://api.example. Если API не вернул подходящий Access-Control-Allow-Origin, браузер не отдаст ответ JavaScript-коду, хотя сервер мог обработать запрос.
Не заучивайте формулировку дословно. Свяжите принцип с задачей из собственного проекта — интервьюер почти наверняка попросит уточнить детали реализации и компромиссы.
03 · Ошибки
Чего избегать в ответе
04 · Углубление
Что могут спросить следом
- Какие запросы считаются простыми?
- Зачем нужен preflight?
- Как CORS работает с cookies?
Практика ответа
Ответьте вслух, а не про себя
Откроем тренировку сразу на этом вопросе. Выберите грейд, сформулируйте ответ и сравните его с опорой.
Mira