Я загружаю HTML-страницу с некоторым javascript с сайта A.
Javascript отправляет HTTP-запрос GET на сайт B. На этом этапе:
- браузер отправляет запрос OPTIONS на сайт B
- сайт B отвечает на запрос OPTIONS
- браузер затем отправляет исходный запрос HTTP GET на сайт B
- сайт B отвечает HTTP 302 с местоположением, установленным на сайт C.
В этот момент браузер перестает обрабатывать запрос. Я ожидал, что он отправит запрос HTTP OPTIONS на сайт C так же, как и при отправке запроса на сайт B. Но это не так. Я наблюдал такое же поведение в Firefox и Chrome.
Я хотел бы понять, почему браузеры ведут себя таким образом. Я понимаю, что для предотвращения циклов, но не ограничено 2 запроса перенаправления, должны быть некоторые проверки или максимальные переадресации.
Также почему информация заголовка НЕ отправляется в код Javascript, чтобы приложение могло что-то с этим сделать. Он просто отбрасывается браузером, хотя он дразнит вас, показывая HTTP 302 Response с сайта C с URL-адресом местоположения в консоли браузера.
XMLHttpRequest не может загрузить https://siteB/... Запрос был перенаправлен на 'https://siteC/.. ', который запрещен для запросов с кросс-началом, требующих предполетной проверки.
Любые идеи дизайна искренне приветствуются.
Привет