问题描述
Options请求中缺少必要的Origin
请求头。
问题原因
您发起了Options请求,但是请求头中缺少Origin
字段。
问题示例
比如您发起了如下请求:
OPTIONS /testobject HTTP/1.1
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
Date: Fri, 24 Feb 2012 05:45:34 GMT
Access-Control-Request-Method:PUT
Access-Control-Request-Headers:x-oss-test1,x-oss-test2
浏览器在发送跨域请求之前会发送一个preflight请求(Options)给OSS,并带上特定的来源域、HTTP方法和header等信息,以决定是否发送真正的请求。其中Origin
请求头表示了请求的来源域,是必需的,上述请求中缺少该请求头,所以会报错。
解决方案
确保您的请求头中包含必要字段,即表示请求来源域的Origin
和表示实际请求中所用HTTP方法的Access-Control-Request-Method
。
OPTIONS /testobject HTTP/1.1
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
Date: Fri, 24 Feb 2012 05:45:34 GMT
Origin:http://www.example.com
Access-Control-Request-Method:PUT
Access-Control-Request-Headers:x-oss-test1,x-oss-test2
相关文档
文档内容是否对您有帮助?