最近,我正在阅读有关预检请求(OPTIONS)并且知道它总是在内容类型为“application / json”时触发,或者除了“text / plain”,“application / x-www-”之外的其他内容form-urlencoded“& “multipart / form-data Content-Types”
所以我的问题是为什么它总是被触发特定的内容类型,如“application / json”而不是上面提到的内容类型。
答案 0 :(得分:1)
简单请求
简单的跨站点请求是满足以下所有条件的请求: 唯一允许的方法是:
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
预检请求
与简单请求(如上所述)不同,“预检”请求首先通过OPTIONS方法向另一个域上的资源发送HTTP请求,以确定实际请求是否可安全发送。跨站点请求是这样预检的,因为它们可能对用户数据有影响。特别是,如果出现以下情况,请求会被预检:
希望这能回答你的问题,请发表评论。