Вопрос проверяет знание механизма CORS и заголовка Access-Control-Allow-Origin, который управляет кросс-доменными запросами в веб-разработке.
CORS (Cross-Origin Resource Sharing) — это механизм безопасности браузера, который контролирует доступ к ресурсам с других доменов. Когда веб-страница пытается сделать запрос к серверу на другом домене, браузер проверяет заголовки ответа сервера. Основной заголовок, регулирующий разрешённые домены — Access-Control-Allow-Origin.
Сервер в ответе на запрос отправляет заголовок Access-Control-Allow-Origin с указанием домена, которому разрешён доступ. Например, если сервер отправляет Access-Control-Allow-Origin: https://example.com, то только страницы с этого домена могут читать ответ. Если нужно разрешить все домены, используется значение *, но это не работает с запросами, содержащими куки или авторизацию.
const express = require('express');
const app = express();
app.use((req, res, next) => {
res.setHeader('Access-Control-Allow-Origin', 'https://myfrontend.com');
res.setHeader('Access-Control-Allow-Methods', 'GET, POST');
res.setHeader('Access-Control-Allow-Headers', 'Content-Type');
next();
});
app.get('/data', (req, res) => {
res.json({ message: 'Доступ разрешён' });
});
app.listen(3000);Этот заголовок используется в любых API, которые вызываются с фронтенда из другого домена. Например, если у вас есть React-приложение на app.example.com, а API на api.example.com, сервер API должен отправлять Access-Control-Allow-Origin: https://app.example.com.
Вывод: Access-Control-Allow-Origin — ключевой заголовок для безопасного кросс-доменного взаимодействия. Его правильная настройка предотвращает утечки данных и обеспечивает работу современных веб-приложений.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию