Sobes.tech
Назад к вопросам
Junior — Middle
88

Могли бы вы объяснить концепцию CORS и почему она важна при разработке веб-приложений?

Ответ от нейросети

sobes.tech AI

CORS (Cross-Origin Resource Sharing) — это механизм безопасности браузера, который ограничивает веб-страницам доступ к ресурсам, расположенным на другом домене (происхождении). По умолчанию браузеры запрещают такие запросы, чтобы предотвратить атаки типа Cross-Site Request Forgery (CSRF) и другие.

CORS позволяет серверу явно указать, какие домены могут обращаться к его ресурсам, с помощью специальных HTTP-заголовков, например, Access-Control-Allow-Origin.

Почему это важно:

  • Позволяет создавать безопасные API, доступные с разных сайтов.
  • Предотвращает несанкционированный доступ к данным.
  • Обеспечивает контроль над тем, кто и как может использовать ваши ресурсы.

Пример: если фронтенд на https://example.com делает AJAX-запрос к API на https://api.example.org, браузер сначала отправит preflight-запрос OPTIONS, чтобы проверить, разрешает ли сервер такой запрос. Если сервер ответит с нужными заголовками CORS, браузер выполнит основной запрос.

В Node.js для настройки CORS часто используют middleware, например, пакет cors:

const express = require('express');
const cors = require('cors');
const app = express();

app.use(cors({ origin: 'https://example.com' }));

app.get('/data', (req, res) => {
  res.json({ message: 'Hello from API' });
});

app.listen(3000);