最近Chrome发布了一个更新版本,当我调用API时(直到今天为止还没有看到),Google会发出有关阻止CORB请求的警告。
跨源读取阻止(CORB)已阻止MIME类型为text / plain的跨源响应[domain]。有关详细信息,请参见https://www.chromestatus.com/feature/5629709824032768。
我已确定对API的请求成功,并且触发控制台警告的是预检OPTIONS请求。
调用API的应用程序不会明确地进行OPTIONS请求,而是我已经了解到在进行跨域请求时浏览器强制执行此操作并由浏览器自动完成。
我可以确认OPTIONS请求响应未定义MIME类型。但是,我有些困惑,因为我理解OPTIONS响应仅为头文件,并且不包含正文。我不明白为什么这样的请求需要定义MIME类型。
此外,控制台警告显示请求被阻止;但是各种POST和GET请求都成功了。因此看起来OPTIONS请求实际上没有被阻止?这是一个三部分的问题:
- 为什么OPTIONS请求需要定义mime-type,当没有响应体时?
- 如果plain/text不合适,那么OPTIONS请求的mime-type应该是什么?我是否可以假定application/json是正确的?
- 如何配置我的Apache2服务器以包括所有预检OPTIONS请求的mime-type?