Настройка CORS для браузерных клиентов
Разрешайте доверенным источникам обращаться к вашему API.
«Настройка CORS для браузерных клиентов» — бесплатный урок Flask Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Flask Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Flask Academy содержит 4 уроков всего.
Части этого урока еще не переведены и отображаются на английском.
Why Browsers Block Calls
A browser refuses cross-origin requests by default for safety. This same-origin policy stops one site from quietly reading another.
What CORS Actually Is
CORS is a set of response headers that say which other origins may call your API. It opens the door on purpose.
An Origin Defined
An origin is the scheme, host, and port together. A different port or http versus https counts as a separate origin.
Meet Flask-CORS
You rarely write the headers by hand. The Flask-CORS extension adds the right ones for you on every response.
pip install Flask-CORSEnable It Globally
The simplest setup wraps the whole app. Calling CORS(app) allows every origin, which is fine while learning.
from flask_cors import CORS
CORS(app)Restrict to Trusted Origins
In real apps you name who may call you with origins. Anything not on the list is still blocked by the browser.
CORS(app, origins=["https://app.example.com"])Limit Which Routes
You can scope CORS to a path prefix with resources. Here only your API namespace is opened to outside callers.
CORS(app, resources={r"/api/*": {"origins": "*"}})The Key Header
Under the hood the magic is Access-Control-Allow-Origin. The browser reads it to decide whether to hand the response to your code.
Preflight Requests
For some calls the browser first sends an OPTIONS preflight to ask permission. Flask-CORS answers it automatically.
Allowing Credentials
To send cookies cross-origin you must set supports_credentials. Note that a wildcard origin is then no longer allowed.
CORS(app, supports_credentials=True)CORS Is Not Auth
Remember that CORS only guides browsers. It is not a security wall, so you still need real authentication on your API.
Quick Check
Choose where the CORS decision is enforced.
Recap
You saw why browsers block cross-origin calls, added Flask-CORS, restricted origins and routes, met preflight, and learned CORS is not auth. Well done!
Изучай Python с ИИ-репетитором — бесплатно
Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.
- Курсы
- 30
- Уроки
- 120
Часто задаваемые вопросы
Урок «Настройка CORS для браузерных клиентов» бесплатный?
Да — полный текст урока «Настройка CORS для браузерных клиентов» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Flask Academy, подпишись на CoddyKit PRO. Курс Flask Academy содержит 4 уроков всего.
Чему я научусь в уроке «Настройка CORS для браузерных клиентов»?
Разрешайте доверенным источникам обращаться к вашему API. Ты практикуешь Flask Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Flask Academy?
Предыдущий опыт не требуется. Flask Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «Настройка CORS для браузерных клиентов»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Flask Academy?
Да. Каждый урок Flask Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Ограничение запросов с Flask-Limiter
- Настройка CORS для браузерных клиентов
- Заголовки безопасности и HTTPS
- Проверка входных данных для защиты от внедрения