2016-08-22 3 views
0

Недавно я читал о предпродажном запросе (ОПЦИИ) и узнал, что он всегда срабатывает, когда content-type является «application/json» или какой-либо другой, кроме «text/plain» , «application/x-www-form-urlencoded» & «Типы содержимого с множеством/формами данных»триггеры запроса предпросмотра на основе содержимого-типа

Поэтому мой вопрос заключается в том, почему он всегда запускается для определенного типа контента, такого как «application/json», вышеупомянутый тип контента.

ответ

0

Простых запросы

простого запрос кросс-сайт один, который удовлетворяет все следующие условия: только разрешенные методы:

GET 
HEAD 
POST 

Помимо заголовков, установленных автоматически пользователь (например, Connection, User-Agent и т. д.), единственными заголовками, которые могут быть установлены вручную, являются:

Accept 
Accept-Language 
Content-Language 
Content-Type 

Единственные допустимые значения для заголовка Content-Type являются:

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

Preflighted просит

В отличие от простых запросов (рассмотренных выше), "preflighted" запрашивает сначала послать запрос HTTP с помощью метода OPTIONS на ресурс в другом домене, чтобы определить, безопасно ли отправлять реальный запрос. Запросы межсайтовых запросов предваряются таким образом, поскольку они могут иметь последствия для пользовательских данных. В частности, предварительно запрограммирован запрос, если:

  • Он использует методы, отличные от GET, HEAD или POST. Кроме того, если POST используется для отправки данных запроса с Content-Type, отличным от application/x-www-form-urlencoded, multipart/form-data или text/plain, например. если запрос POST отправляет полезную нагрузку XML на сервер с использованием приложения/xml или text/xml, тогда запрос предполет.
  • Он устанавливает собственные заголовки в запросе (например, запрос использует заголовок , такие как X-PINGOTHER)

Надеется, что это ответ на ваш вопрос еще, пожалуйста, сделать комментарий.

Source

Смежные вопросы