預檢Options請求
更新時間 2024-10-31 15:40:30
最近更新時間: 2024-10-31 15:40:30
分享文章
接口介紹
瀏覽器在發送跨域請求之前會發送一個preflight請求(Options)給對象存儲,并帶上特定的來源域、HTTP方法和Header等信息,以決定是否發送真正的請求。Options請求是由瀏覽器自動根據是否跨域來決定是否發送。
接口約束
無
請求URI
OPTIONS /v1/{bucket}/{objectName}
路徑參數
| 參數 | 是否必填 | 參數類型 | 說明 | 示例 |
|---|---|---|---|---|
| bucket | 是 | String | 桶名稱 | testBucket |
| objectName | 是 | String | 預檢查的對象名 | test |
Query參數
無
請求參數
請求頭header參數
| 參數 | 是否必填 | 參數類型 | 說明 | 示例 | 下級對象 |
|---|---|---|---|---|---|
| Origin | 是 | String | 請求來源域,用于標識跨域請求。在實際請求中只能設置一個該請求頭。 | //www.example.daliqc.cn | |
| Access-Control-Request-Method | 是 | String | 在實際請求中會用到的方法。在實際請求中只能設置一個該請求頭。 | POST | |
| Access-Control-Request-Headers | 否 | String | 在實際請求中會用到的請求頭。 | test1 |
請求體body參數
無
響應參數
響應頭參數
| 參數 | 參數類型 | 說明 | 示例 | 下級對象 |
|---|---|---|---|---|
| Access-Control-Allow-Origin | String | 請求中包含的Origin。如果不允許該請求,則響應頭不包含該頭部。 | //example.daliqc.cn | |
| Access-Control-Allow-Methods | String | 允許請求的HTTP方法。如果不允許該請求,則響應頭不包含該頭部。 | PUT | |
| Access-Control-Allow-Headers | String | 允許請求攜帶的header的列表。如果請求中有不被允許的header,則不包含該頭部,請求也將被拒絕。 | test1 | |
| Access-Control-Expose-Headers | String | 允許在客戶端JavaScript程序中訪問的headers的列表,只有在設置跨域的時候傳入ExposeHeader參數,此處才會返回。 | test2 | |
| Access-Control-Max-Age | Integer | 允許瀏覽器緩存preflight結果的時間,單位為秒。 | 100 |
請求示例
OPTIONS /v1/testbucket/test
請求頭header
Origin: //www.example.daliqc.cn
Access-Control-Request-Method: PUT
Access-Control-Request-Headers: test1
請求體body
無
響應示例
HTTP/1.1 200 OK
x-amz-request-id: BDC4B83DF5096BBE
Date: Wed, 21 Aug 2012 23:09:55 GMT
Etag: "1f1a1af1f1111111111111c11aed1da1"
Access-Control-Allow-Origin: //www.example.daliqc.cn
Access-Control-Allow-Methods: PUT
Access-Control-Allow-Headers: test1
Access-Control-Expose-Headers: test2
Access-Control-Max-Age: 100
Content-Length: 0
狀態碼
| HTTP狀態 | 描述 |
|---|---|
| 200 | 操作成功 |
| 400 | 參數錯誤,如缺少Access-Control-Request-Method頭 |
| 403 | 用戶沒有權限執行操作 |