указательный столб
- Ну, междоменный фоновая конфигурация, но передний конец в заголовке HTTP, чтобы добавить маркера, а также создавать проблемы между доменами
- Колба, Вьет (Вардар), кросс-домен
Применяемая сцена
- До и после окончания разделения, необходимо использовать маркер для управления сост, или обратного вызова интерфейса
окружающая среда
- Платформонезависимый
Ссылка блог
- После того, как маркер конфигурации Аксиос в информации заголовка, то запрос будет сообщено на задние проблемы кросс-домена. Но когда тест почтальона без каких-либо проблем.
На самом деле, нет ответа на этот вопрос не дается, чтобы помочь непосредственность, даже странный ответ, но открывает дверь для меня.
фон
По разным причинам отказались от использования готового блог похож на WordPress этого решения, подготовить себя, чтобы построить систему блог, выбор технологии: бэкенд: Колба, передний конец: Вьет. Войти государственное управление отказаться от печенья, используя маркер. Проблема CORS оказалась маршрут, чтобы защитить развитие конкретной ситуации Вьет получаются из фона добавляется в запрос маркеров заголовка HTTP, вызвать соответствующие интерфейсы через домены появляются.
Перед кросс-домен на самом деле появился в термос по flask_cors сконфигурировано решение междоменное, поэтому генерация междоменное делает меня очень озадачило, и потому, что проблема довольно странно, не найти хорошее решение в поисковых системах (может быть, я не знаю, как описать, он нашел их нет), так что он может пересмотреть свои собственные кросс-домен, есть какой-то новый урожай.
анализ
Я считаю, что использование передней и задней частью отделения разработчика на ранней стадии развития будет работать в проблему перекрестного домена, есть много решения междоменного, я решил быть решен через задний план.
Междоменный вопрос браузера политика общего происхождение вызвало много интернет связанных статей, здесь не повторяются. Обратите внимание, что: не Почтальон не кросс-домена.
Колба решить решение междоменное очень просто, следующий код для завершения.
from flask_cors import CORS
CORS(app,supports_credentials=True
@app.after_request
def after_request(resp):
resp = make_response(resp)
resp.headers['Access-Control-Allow-Origin'] = 'http://127.0.0.1:8080'
resp.headers['Access-Control-Allow-Methods'] = 'GET,POST'
resp.headers['Access-Control-Allow-Headers'] = 'x-requested-with,content-type'
return resp
После настройки, он не не было никаких проблем, так что не пошли дальше понять смысл своей конфигурации до этого времени он застрял, так что я должен был узнать, что мой междоменное конфигурации что-то?
На самом деле, ключевым моментом этой проблемы заключается в том , что три конфигурации: Access-Control-Allow-Origin
, Access-Control-Allow-Methods
, Access-Control-Allow-Headers
.
Они в конце концов , в чем смысл?
Прежде всего Access-Control-Allow-Origin
, в буквальном смысле, эта конфигурация позволяет соответствующий источник для доступа фонов ресурсов, главным образом в письменной форме в Интернете здесь есть *
, что позволяет все источники, это не безопасно, потому что я здесь местный этап развития, Вьет порт старт 8080, так что я писал , что http://127.0.0.1:8080
, в соответствии с вашими потребностями развития в тройки их потребности.
Во- вторых Access-Control-Allow-Methods
, также в буквальном смысле, чтобы разрешить использование метода HTTP , который, GET, POST является наиболее распространенным, где написал только два, если вам нужно использовать другой метод, здесь писать, или будет проблемы междоменное.
Более двух конфигураций не проблема, проблема в последней части:
Access-Control-Allow-Headers
И два выше, в буквальном смысле, причина в том , что она является проблемой, потому что мы добавим поле для запроса HTTP пользовательский передний конец token
(только разрешение, но это не входит в сферу действия лицензии x-requested-with
и content-type
), следовательно , для того , чтобы определить политику источника не соответствует контракту недопустимого запроса, так что нам нужно только настроить заголовок может быть добавлен к нему. Ответ вышел.
Продолжайте копать немного, то , что два значения этого поля? x-requested-with
, content-type
.
x-requested-with
Он используется для определения запроса клиента инициируется Аякс, и поэтому Вардар Что такое отношение? Ответ: это не имеет значения ... это может быть непосредственно удалены. Вставьте этот код является человеком по умолчанию или запрос инициирования с использованием Ajax, но не анализ или полем значения, поэтому он непосредственно подключен к коду, но для разработчиков, использующих AXIOS, это поле не является неизбежным.
content-type
: Указанный формат данных, и кодирование запроса POST. Наиболее распространенный формат данных , чем josn, следующий вид: application/json
распечатаны на заднем конце запроса POST HTTP заголовка, обнаружит это и следующие данные.
Content-Type: application/json;charset=UTF-8
Решения
В Access-Control-Allow-Headers
заголовке добавить пользовательское имя в целом выглядит следующим образом :
from flask_cors import CORS
CORS(app,supports_credentials=True
@app.after_request
def after_request(resp):
resp = make_response(resp)
resp.headers['Access-Control-Allow-Origin'] = 'http://127.0.0.1:8080'
resp.headers['Access-Control-Allow-Methods'] = 'GET,POST'
resp.headers['Access-Control-Allow-Headers'] = 'content-type,token'
return resp
На самом деле, прямой удалить
Access-Control-Allow-Headers
эту конфигурацию , может решить эту проблему, но перечислить все неподвижная ситуация, безусловно , безопаснее.
####
Для более Haytham оригинальных статей, пожалуйста , обратите внимание на общедоступный номер «Xuju Long»: