LINUX.ORG.RU

почему нет preflight-запроса?

 , ,


0

2

помогите пожалуйста понять почему при запросе списка пользователей github делается только один запрос

как я понимаю, происходит кроссдоменный запрос - я со своего сервера(localhost) делаю ajax-запрос на сервер api.github.com. ответ приходит в формате json, о чём говорит заголовок запроса:

Content-Type:application/json; charset=utf-8

это значит, что мой запрос сложный, то есть клиент должен послать предварительный запрос(preflight request), в ответ на который сервер пришлёт список разрешённых методов и т.п. служебную информацию. и только после этого последует запрос на получение непосредственно информации(списка пользователей)

проблема в том, что я не вижу этого preflight-запроса в хроме на вкладке network: http://storage2.static.itmages.com/i/18/0304/h_1520190937_3851333_e4d959fdae.png

запрос отправляю по такому адресу:

get('https://api.github.com/users')

использую angular5



Последнее исправление: prozaik (всего исправлений: 1)

В вкипедии (а я сам нихрена не помню) написано, что запрос идёт автоматически и только если метод модифицирующий (т.е. не GET).

А вот откуда ты взял «это значит, что мой запрос сложный» - я хз.

Deleted
()
Ответ на: комментарий от Deleted

потому что ответ возвращается в json

prozaik
() автор топика

Ну твой get видимо по-дефолту пишет

Accept: application/json, text/plain, */*

Сервер ясно понимает что ты принять его ответ можешь. Какие нужны дополнительные запросы?

vladimir-vg ★★
()

Согласно MDN:

Some requests don’t trigger a CORS preflight. Those are called “simple requests” in this article, though the Fetch spec (which defines CORS) doesn’t use that term. A request that doesn’t trigger a CORS preflight—a so-called “simple request”—is one that meets all the following conditions:

The only allowed methods are:

  • GET
  • HEAD
  • POST

https://developer.mozilla.org/en-US/docs/Glossary/Preflight_request

nemec784
()
Ответ на: комментарий от nemec784

Хотя поторопился. По этой же доке получается что:

The only allowed values for the Content-Type header are:

  • application/x-www-form-urlencoded
  • multipart/form-data
  • text/plain

В общем - стоит почитать спеку по ссылке выше.

nemec784
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.