
CORSрасшифровывается как Cross Origin Resource Sharing, это протокол для разрешения взаимодействия клиентского приложения и серверного приложения, даже если друг у друга различное происхождение.
Другой причиной, например, является то, что клиентское приложение находится до www.mysite.com, а серверное приложение — до www.serverapi.com, а клиентское и серверное приложения имеют разное происхождение.
Зачем нам КОРС? Происхождение клиента и сервера, скорее всего, будет разным.
На самом деле клиенты и серверы могут взаимодействовать друг с другом, только если они имеют один и тот же источник. Это также называется Политикой единого происхождения.
Причина в том, что даже если происхождение клиента и сервера различно, если связь разрешена безоговорочно, слишком вероятно, что клиент злонамеренно получит доступ к серверу.
Короче говоря, в целях безопасности мы можем общаться только с одним и тем же источником.
Таким образом, можно передавать только одно и то же происхождение, а затем блокировать запрос к серверному API из другого источника в веб-браузере.
Однако, как я упоминал ранее, не так много случаев, когда клиент и сервер имеют одно и то же происхождение.
Причин много, но по мере роста размера клиента в проекте
клиент имеет отдельный источник для управления отдельно как клиент, а сервер имеет источник как сервер.
Конечно, из соображений безопасности клиентские и серверные приложения часто размещаются в разных источниках.
Для пользователей лучше всего блокировать любые направления, которые могут напрямую обращаться к серверу.
Итак, нам нужен CORS. Есть ситуация, когда вы должны иметь возможность общаться с разными источниками.
На самом деле, в случае ошибок, связанных с CORS, нет возможности решить их в клиенте, а нужно настраивать отдельно на сервере.
Я позволю только источнику A и B получить доступ к серверу среди таких запросов к серверу.
Ниже приведен пример конфигурации CORS с Express в Node.js:
Вы должны предварительно установить пакет cors.
const cors = require(‘cors’);
app.use(cors({
origin: ‘https://www.mysite.com’,
methods: [‘GET’, ‘POST’, ‘DELETE’, ‘PUT’]
}));
В приведенном выше примере только запросы с методами GET, POST, DELETE и PUT будут разрешены для доступа к серверу.
Доступ ко всем другим источникам будет запрещен, поэтому даже если вы запросите серверный API из веб-браузера, произойдет ошибка.

Присоединяйтесь к FAUN: Сайт💻|Подкаст🎙️|Twitter🐦|Facebook👥 |Instagram📷|Группа Facebook🗣️|Группа Linkedin💬| Slack 📱|Cloud Native Новости📰|Дополнительно.
Если этот пост был полезен, пожалуйста, несколько раз нажмите кнопку аплодисментов 👏 ниже, чтобы выразить свою поддержку автору 👇