Помогите! YUI асинхронный запрос GET с использованием HTTPS по умолчанию для метода запроса OPTIONS - PullRequest
2 голосов
/ 30 июня 2010

По какой-то причине, когда я делаю асинхронный запрос с использованием YUI и указываю, что это GET или POST, а запрос - HTTPS, фактический запрос выполняется с помощью метода запроса OPTIONS.

помогите!почему он это делает?

PS Я пробовал это с Prototype и получил ту же сделку.

1 Ответ

4 голосов
/ 30 июня 2010

Я предполагаю, что запрос сделан со страницы небезопасных (http).(Или если - это с защищенной страницы, то домены, вероятно, отличаются.)

Запрос на ваш безопасный (https) ресурс считается перекрестным источником.Чтобы GET / POST был успешным, источник и целевые доменные имена должны быть точно одинаковыми, чтобы соответствовать тем же политикам безопасности источника.

Запрос OPTIONS по сути является HTTP-рукопожатие или preflight , которое происходит между клиентом и целевым ресурсом, чтобы установить, имеет ли клиент разрешение на доступ к целевому ресурсу из источника.

Modernв веб-браузерах, таких как Safari и Firefox, реализована политика W3C Cross Origin Resource Sharing draft , поэтому вы увидите предпечатную связь OPTIONS в случае сбоя - возможно, с некоторой безопасностью илиошибка JavaScript, связанная с сетью.Если предварительный просмотр OPTIONS успешен, может произойти исходное GET / POST.

Я рекомендую прочитать:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...