Встречается на собеседованиях • сегодня

Сталкивался ли с CORS

CORS (Cross-Origin Resource Sharing) - механизм, который позволяет или запрещает запросы между разными источниками (origin). Сталкивался, это частая проблема при работе с API.

Основное:

  • Браузер блокирует кросс-доменные запросы по умолчанию
  • Сервер должен отправить заголовки Access-Control-Allow-Origin и другие
  • Для простых GET/POST запросов сначала отправляется OPTIONS-запрос (preflight)

Пример ошибки в консоли:
Access to fetch at 'http://api.example.com' from origin 'http://localhost:3000' has been blocked by CORS policy

Решение на сервере (Node.js пример):

javascript
app.use((req, res, next) => {
  res.header('Access-Control-Allow-Origin', '*');
  res.header('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE');
  res.header('Access-Control-Allow-Headers', 'Content-Type');
  next();
});

На фронте можно обойти через прокси или настройку dev-сервера. В production всегда нужно править сервер.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы