TGViewer
METANIT.COM METANIT.COM @devnull22 · 5.82K subscribers
Post #2988 1.85K
CORS (Cross-Origin Resource Sharing)
(продолжение предыдущего поста)

CORS (Cross-Origin Resource Sharing) — это HTTP-механизм, который позволяет запрашивать данные с одного URL на другой URL, обходя ограничения политики одинакового происхождения (Same-Origin Policy).
CORS обеспечивает баланс между безопасностью и возможностью взаимодействия между ресурсами разных источников, предотвращая несанкционированный доступ к данным.

Как работает CORS:

1. Клиент (a.com) хочет отправить запрос (например, POST /products) на сервер с другим источником (b.com).
2. Браузер обнаруживает, что источник отличается, и перед отправкой основного запроса отправляет предварительный (preflight) запрос с методом OPTIONS на сервер (b.com). Это делается для проверки, разрешены ли такие запросы.
3. В preflight-запросе браузер указывает:
- метод основного запроса (например, POST);
- заголовки, которые будут использоваться.
4. Сервер (b.com) отвечает на preflight-запрос кодом 204 No Content и включает специальные заголовки:
- Access-Control-Allow-Origin: указывает, какой источник (origin) может отправлять запросы (в примере — a.com);
- Access-Control-Allow-Methods: перечисляет разрешённые HTTP-методы (в примере — POST).
5. Если сервер разрешает запрос, браузер отправляет основной запрос (POST /products).
6. Сервер обрабатывает основной запрос и возвращает ответ, если всё корректно.

Ключевые моменты:
- CORS работает как на стороне браузера, так и на стороне сервера.
- Без правильной настройки CORS браузер блокирует запросы к ресурсам с других доменов.
- Заголовки Access-Control-Allow-Origin и Access-Control-Allow-Methods критически важны для разрешения запросов.
- Предварительные (OPTIONS) запросы помогают убедиться, что основной запрос безопасен.
Telegram METANIT.COM CORS (Cross-Origin Resource Sharing) (продолжение в следующем посте)
  • ❤ 7
  • 👍 4
  • 🔥 2
  • ❤‍🔥 1
More from @devnull22
  1. Mar 19, 2026Добавил в руководство по JavaScript главу про работу с датами и временем с помощью Tempora…
  2. Mar 19, 2026Роскомнадзор перестал полностью справляться с блокировками в интернете Роскомнадзор (РКН)…
  3. Mar 18, 2026Минцифры опубликовало законопроект о государственном регулировании ИИ. Закон должен начать…
  4. Mar 18, 2026Microsoft призвала разработчиков создавать ИИ-приложения в Electron на Windows 11 Microsof…
  5. Mar 18, 2026Oracle анонсировала проект Detroit, который будет развиваться в составе OpenJDK и нацелен…
  6. Mar 17, 2026Вышла новая версия платформы Java - JDK 26. JDK 26 — краткосрочная версия с поддержкой Pre…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →