Что такое CORS

Python Middle Без компании
Что такое CORS
Ответы
CORS (Cross-Origin Resource Sharing) — механизм, позволяющий браузеру запрашивать ресурсы с другого домена, отличного от текущего. Без CORS браузер блокирует такие запросы из-за политики Same-Origin Policy (SOP). **Как это работает?** Сервер должен включать специальные заголовки в ответ, например: - `Access-Control-Allow-Origin: *` — разрешает запросы с любых доменов. - `Access-Control-Allow-Methods: GET, POST` — разрешённые HTTP-методы. **Пример на Flask:** ``` from flask import Flask, jsonify from flask_cors import CORS app = Flask(__name__) CORS(app, resources={r"/api/*": {"origins": "*"}}) @app.route("/api/data") def get_data(): return jsonify({"data": "Hello CORS!"}) ``` **Нюансы:** - Для сложных запросов (например, с `Content-Type: application/json`) браузер сначала отправляет `OPTIONS`-запрос (preflight). - `*` в `Access-Control-Allow-Origin` не работает с credentials (куки, авторизация). - CORS — это защита браузера, а не сервера. Сервер может отвечать без CORS, но браузер отклонит ответ.