Если HTTP-заголовок Access-Control-Allow-Origin
отсутствует в ответе на предварительную проверку CORS (совместного использования ресурсов между источниками), это означает:
- Сервер не поддерживает CORS? Или же,
- Сервер запрещает доступ?
Если сервер не поддерживает CORS, очевидно, что заголовок будет отсутствовать.
Но если он поддерживает CORS, значит ли это, что доступ запрещен?
И наоборот, что должен делать сервер, реализующий CORS, чтобы сообщить клиенту, что доступ запрещен из-за CORS? Должен ли он отвечать со статусом как 403 Forbidden
?
Каждый источник, который я нашел, объясняет, какие заголовки добавляются для обеспечения междоменного доступа, но не объясняет, что делать, чтобы запретить доступ.
** Редактировать: неправильно заданный вопрос, мой плохой, см. Объяснение ниже **
Фокус моего вопроса кажется не по теме по сравнению с тем, что я ожидал. На самом деле ответ сфокусирован на конфигурации сервера, но мне был интересен протокол по HTTP.
Чтобы быть более точным, я поставил вопрос, потому что я пытался получить доступ к серверу с перекрестным запросом и:
- Сервер не включал заголовки CORS, в то время как мой XMLHttpRequest включал их
- браузер принимал перекрестные запросы от
swf
медиа - Я проверил реферер медиа и его iframe действительно отличался от цели запросов
- Я даже не знал, реализовал ли сервер CORS или нет
- Я не владею сервером
Мой низкий уровень понимания CORS внутри HTTP и тот факт, что были приняты какие-то перекрестные запросы, заставляют меня задуматься, отклоняет ли сервер мои запросы и что я делаю неправильно.
Я выложу ответ, так как считаю, что с тех пор решил его.