Перейти к основному содержанию

Конструктор заголовков CORS

Создавайте стандартные заголовки ответа CORS — Access-Control-Allow-Origin, -Methods, -Headers, -Credentials, -Max-Age и -Expose-Headers — из структурированных полей, готовые для вставки в ответ сервера.

Ввод

Источник, которому разрешён доступ к ресурсу. Используйте * для разрешения всех источников — но это нельзя комбинировать с учётными данными.

Список HTTP методов, разделённых запятой, разрешённых для cross-origin запросов.

Список заголовков запроса, разделённых запятой, которые браузер может отправлять.

Как долго браузеры могут кэшировать результаты preflight, в секундах. Оставьте пусто для исключения.

Опционально. Список заголовков ответа, разделённых запятой, которые JavaScript может читать.

Вывод

Сгенерированные заголовки CORS

Один заголовок на строку — вставьте прямо в конфигурацию ответа вашего сервера.

Это было полезно?

Другие способы использовать этот инструмент

REST API

curl -X POST https://api.iotools.cloud/v1/tool/cors-headers-builder \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "origin": "https://example.com",
    "methods": "GET, POST",
    "headers": "Content-Type, Authorization",
    "allowCredentials": "true",
    "maxAge": "86400",
    "exposeHeaders": ""
  }'

Подставьте свой собственный ключ из аккаунта. Поля инструмента — это тело запроса, без обёртки.

Спросите у ИИ-агента

Use the IOTools `cors-headers-builder` tool (CORS Headers Builder) on this input:

YOUR_INPUT_HERE

Вставьте это любому агенту, подключённому к MCP-серверу IOTools, и добавьте свой ввод.

Виджет для встраивания

<iframe
  src="https://iotools.cloud/embed/cors-headers-builder/"
  width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
  title="Конструктор заголовков CORS — iotools.cloud"
  sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
  allow="clipboard-write"
  style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>

Вставьте это на свою страницу — бесплатно, без ключа, нужна лишь обратная ссылка.

Стоимость вызова API/MCPОт 5 кредитов
Нужно больше кредитов?Посмотреть тарифы

Также доступно через

Руководства

Что такое Конструктор заголовков CORS?

Cross-Origin Resource Sharing (CORS) — это механизм, который браузеры используют для определения того, может ли веб-страница, запущенная на одном источнике (https://app.example.com), делать запросы к серверу на другом источнике (https://api.example.com). По умолчанию браузеры блокируют такие запросы — сервер должен согласиться, отправив обратно определённый набор заголовков ответа Access-Control-*. Этот инструмент создаёт эти заголовки из нескольких структурированных полей, чтобы вам не пришлось запоминать точные имена заголовков, правила разделения запятыми или странности true/*, которые путают людей.

Как использовать

  1. Установите Разрешённый источник — либо конкретный источник, такой как https://example.com, либо * для разрешения любого сайта (действительно только если учётные данные отключены).
  2. Перечислите Разрешённые методы и Разрешённые заголовки, которые принимает ваш API, разделённые запятой.
  3. Включите Разрешить учётные данные, если запрос должен нести cookies или заголовок Authorization — это заставляет вас использовать конкретный источник вместо *.
  4. Установите Max-Age, чтобы контролировать, как долго браузеры кэшируют ответ preflight OPTIONS, и опционально перечислите Раскрытые заголовки для любых пользовательских заголовков ответа, которые нужно читать вашему JavaScript на стороне клиента.
  5. Поле Сгенерированные заголовки CORS обновляется автоматически — скопируйте его в ответ вашего сервера или загрузите как текстовый файл.

Роль каждого заголовка

  • Access-Control-Allow-Origin — какой источник(ники) может читать ответ. Это заголовок, который фактически разблокирует cross-origin доступ; без него браузер блокирует ответ независимо от остального.
  • Access-Control-Allow-Methods — HTTP методы, которые сервер принимает из cross-origin запросов, отправляемые в ответ на preflight запрос OPTIONS.
  • Access-Control-Allow-Headers — заголовки запроса, которые cross-origin клиент может устанавливать (например Content-Type, Authorization).
  • Access-Control-Allow-Credentials — должна быть буквальная строка true, чтобы браузер раскрыл cookies и HTTP-аутентификацию запрашивающей странице. Её наличие также требует конкретного Allow-Origin, никогда не *.
  • Access-Control-Max-Age — сколько секунд браузер может кэшировать результат preflight перед отправкой другого запроса OPTIONS. Более высокие значения означают меньше preflight, но более медленное развёртывание изменений прав.
  • Access-Control-Expose-Headers — по умолчанию JavaScript может читать только небольшой набор "безопасных" заголовков ответа. Перечислите здесь любые пользовательские заголовки (например X-Request-Id), чтобы сделать их читаемыми через fetch/XMLHttpRequest.

Часто задаваемые вопросы

Почему я не могу использовать * с учётными данными? Это намеренное ограничение безопасности браузера. Если Access-Control-Allow-Credentials: true было разрешено вместе с wildcard источником, любой веб-сайт в мире мог бы делать аутентифицированные запросы к вашему API, используя cookies вошедшего пользователя. Браузеры отказываются соблюдать эту комбинацию — этот инструмент отмечает её перед развёртыванием.

Что вызывает preflight запрос (OPTIONS)? Простые запросы — GET, HEAD или POST со стандартными типами контента — идут прямо на сервер. Всё остальное (метод PUT/DELETE/PATCH, пользовательский заголовок, такой как Authorization, или JSON Content-Type) заставляет браузер сначала отправить автоматический preflight OPTIONS, проверив заголовки Access-Control-Allow-* перед отправкой реального запроса.

Нужен ли мне Access-Control-Expose-Headers? Только если ваш JavaScript на стороне клиента читает заголовки ответа за пределами списка безопасности по умолчанию (Cache-Control, Content-Language, Content-Type, Expires, Last-Modified, Pragma). Заголовки пaginации, ID запроса и счётчики ограничения скорости — частые случаи, которые это требуют.

Могу ли я разрешить несколько конкретных источников? CORS позволяет только одно статическое значение в Access-Control-Allow-Origin за ответ. Для поддержки нескольких известных источников ваш сервер должен проверить входящий заголовок запроса Origin против списка разрешённых и динамически вернуть соответствующий — этот инструмент создаёт блок заголовков для одного источника за раз.

Приватность

Этот инструмент работает полностью в вашем браузере. Источники, методы и заголовки, которые вы вводите, никогда не отправляются и не хранятся на наших серверах.

corshttp headercross-originaccess-control-allow-originpreflightweb developmenthttp

Нравятся инструменты? Уберите рекламу.

Один платёж навсегда убирает всю рекламу с вашего аккаунта. Без подписки, без слежки.