全部產品
Search
文件中心

Object Storage Service:Options

更新時間:Feb 28, 2024

瀏覽器在發送跨域請求之前會發送一個preflight請求(Options)給OSS,並帶上特定的來源域、HTTP方法和header等資訊,以決定是否發送真正的請求。Options請求是由瀏覽器自動根據是否跨域來決定是否發送。

請求文法

OPTIONS /ObjectName HTTP/1.1
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Origin:Origin
Access-Control-Request-Method:HTTP method
Access-Control-Request-Headers:Request Headers

要求標頭

名稱

類型

是否必選

樣本值

描述

Origin

字串

http://www.example.com

請求來源域,用於標識跨域請求。

在實際請求中只能設定一個該要求標頭。

預設值:無

Access-Control-Request-Method

字串

PUT

在實際請求中會用到的方法。

在實際請求中只能設定一個該要求標頭。

預設值:無

Access-Control-Request-Headers

字串

x-oss-test1,x-oss-test2

在實際請求中會用到的除了簡單頭部之外的header。

在實際請求中可以為該要求標頭設定多個header,多個header之間使用英文逗號(,)隔開。

預設值:無

回應標頭

名稱

類型

樣本值

描述

Access-Control-Allow-Origin

字串

http://www.example.com

請求中包含的Origin。如果不允許該請求,則回應標頭不包含該頭部。

Access-Control-Allow-Methods

字串

PUT

允許請求的HTTP方法。如果不允許該請求,則回應標頭不包含該頭部。

Access-Control-Allow-Headers

字串

x-oss-test,x-oss-test1

允許請求攜帶的header的列表。如果請求中有不被允許的header,則不包含該頭部,請求也將被拒絕。

Access-Control-Expose-Headers

字串

x-oss-test1,x-oss-test2

允許在用戶端JavaScript程式中訪問的headers的列表。

Access-Control-Max-Age

整型

60

允許瀏覽器緩衝preflight結果的時間,單位為秒。

樣本

請求樣本

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

返回樣本

HTTP/1.1 200 OK 
x-oss-request-id: 5051845BC4689A033D00****
Date: Fri, 24 Feb 2012 05:45:34 GMT
Access-Control-Allow-Origin: http://www.example.com
Access-Control-Allow-Methods: PUT
Access-Control-Expose-Headers: x-oss-test1,x-oss-test2
Connection: keep-alive
Content-Length: 0  
Server: AliyunOSS

錯誤碼

錯誤碼

HTTP 狀態代碼

描述

AccessForbidden

403

OSS可以通過PutBucketCORS介面來開啟Bucket的CORS功能。開啟CORS功能後,OSS在收到瀏覽器preflight請求時會根據設定的規則評估是否允許本次請求,如果不允許或者CORS功能未開啟,則返回此錯誤碼。