> For the complete documentation index, see [llms.txt](https://reloaderlev.gitbook.io/russian-goit-node-js-new-program/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://reloaderlev.gitbook.io/russian-goit-node-js-new-program/express.js/cors.-paket-cors.md).

# CORS. Пакет cors

Cross-Origin Resource Sharing ([CORS](https://developer.mozilla.org/ru/docs/%D0%A1%D0%BB%D0%BE%D0%B2%D0%B0%D1%80%D1%8C/CORS)) - механизм, использующий дополнительные HTTP-заголовки, чтобы дать возможность [агенту пользователя](https://developer.mozilla.org/ru/docs/%D0%A1%D0%BB%D0%BE%D0%B2%D0%B0%D1%80%D1%8C/user_agent) получать разрешение на доступ к выбранным ресурсам с сервера на домене, отличном от того, что сайт использует в данный момент.

[Статья о CORS](https://developer.mozilla.org/ru/docs/Web/HTTP/CORS)

Cross-Origin запросы к серверу осуществляются без preflight-запроса, если:

* Запрос использует метод GET, POST или HEAD
* В запросе не используются заголовки, которые не входят в нижеуказанный список базовых заголовков браузера:
* * [`Accept`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept)
  * [`Accept-Language`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language)
  * [`Content-Language`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Language)
  * [`Content-Type`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type)
  * [DPR](http://httpwg.org/http-extensions/client-hints.html#dpr)
  * [`Downlink`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Downlink)
  * [Save-Data](http://httpwg.org/http-extensions/client-hints.html#save-data)
  * [Viewport-Width](http://httpwg.org/http-extensions/client-hints.html#viewport-width)
  * [Width](http://httpwg.org/http-extensions/client-hints.html#width)
* В запросе используются только нижеуказанные MIME-типы:
* * application/x-www-form-urlencoded
  * multipart/form-data
  * text/plain
* На клиенте не зарегистрированно слушателей на событие [`XMLHttpRequestUpload`](https://developer.mozilla.org/ru/docs/Web/API/XMLHttpRequestUpload)
* Обьект [`ReadableStream`](https://developer.mozilla.org/ru/docs/Web/API/ReadableStream)  не используется в запросе

{% hint style="info" %}
Для реализации логики, связанной с preflight-запросом, в express используется пакет [cors](https://www.npmjs.com/package/cors)
{% endhint %}
