← ТехнологииНай-важното за

CORS: кога браузърът разрешава четене от друг произход

Издател: ResumeMaker • 2 източника

Публикувано: 21.10.2026 08:31 · Променено: 21.10.2026 08:31

Няма потвърден човешки редакторски преглед на този текст.

В няколко изречения

Накратко

CORS е механизъм с HTTP заглавки за достъп от браузърен код до ресурси от друг произход. Той не замества удостоверяването на потребителите.

Полезно е да знаеш

При уеб адресите произходът се определя от схема, домейн и порт. Промяната на някоя от тези части може да постави два адреса в различни произходи. Когато JavaScript в една страница иска да прочете отговор от друг произход, браузърът прилага правила за достъп. CORS е механизмът, чрез който сървърът може да посочи как такъв отговор да бъде споделен с кода на страницата. Той използва HTTP заглавки и участва в работата на браузъра. [1]

Заглавката Access-Control-Allow-Origin посочва за кой произход може да бъде споделен отговорът. [2] Важно е да разграничим две действия: сървърът обработва заявка и браузърният код получава право да прочете нейния отговор. CORS не е универсална забрана всички други програми да се свързват със сървъра. Затова проектирането на достъпа не може да приключи с тази заглавка. Защитата на самите данни трябва да бъде разглеждана отделно от разрешението за четене в браузъра.

Нека разгледаме измислен каталог на библиотека. Публичният сайт е на един адрес, а услугата за търсене е на друг. Екипът очаква страницата да показва резултати от тази услуга. Ако връзката не работи, полезно е да запишем началния адрес, целевия адрес и действителния произход на страницата. Този малък опис предотвратява догадки като „домейнът изглежда почти същият“. За техническото правило има значение точната стойност, а не визуалното сходство между имената.

При част от заявките браузърът първо изпраща предварителна проверка, наречена preflight. Тя съобщава какви метод и заглавки се предвиждат за същинската заявка. Сървърът отговаря дали това е позволено. [1] При заявки с идентификационни данни има допълнителни ограничения: звездичката в Access-Control-Allow-Origin не замества конкретен разрешен произход за споделяне на такъв отговор. [2] Това е причина разрешенията да се описват според реалната употреба, вместо механично да се поставя най-широката видима стойност.

За практически тест е добре да се използва самата страница, която ще изпълнява заявката. Успешното отваряне на адреса в отделен раздел не доказва, че кодът от друг произход ще може да прочете отговора. В учебен пример можем да сравним разрешен и неразрешен произход и да запишем какво вижда приложението във всеки случай. Използват се тестови данни, така че диагностиката да не променя реални записи.

Доброто обяснение на настройката включва три конкретни неща: коя страница има нужда от отговора, от кой адрес го получава и защо това споделяне е необходимо. След това се проверява дали правилото съвпада с тези нужди. Така CORS остава разбираем договор за браузърния достъп. Не е нужно да се приема за загадъчна грешка, нито да се разширява безкрайно само за да изчезне съобщението от конзолата.

Източници

За повече подробности и проверка на информацията:

  1. [1] MDN — Cross-Origin Resource Sharing ↗
  2. [2] MDN — Access-Control-Allow-Origin ↗