0034-00000102

问题描述

Options请求中缺少必要的Access-Control-Request-Method请求头。

问题原因

您发起了Options请求,但是请求头中缺少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-Headers:x-oss-test1,x-oss-test2

浏览器在发送跨域请求之前会发送一个preflight请求(Options)给OSS,并带上特定的来源域、HTTP方法和header等信息,以决定是否发送真正的请求。其中Access-Control-Request-Method请求头表示了后续实际请求所用的HTTP方法,是必需的,上述请求中缺少该请求头,所以会报错。

解决方案

确保您的请求头中包含必要字段,即表示请求来源域的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

相关文档