跨域资源共享(CORS)

 

PUT Bucket CORS

更新时间 2020-11-26

该接口用于设置 Bucket 的跨源资源共享策略,只有 Bucket 的所有者才能调用该 API。

请求语法

PUT /?cors HTTP/1.1
Host: <bucket-name>.<zone-id>.is.shanhe.com
Date: <date>
Authorization: <authorization-string>

{
    "resp_vary": "enable"
    "cors_rules": [
        {
            "allowed_origin": <allowed_origin>,
            "allowed_methods": [
                <allowed_methods>
            ],
            "allowed_headers": [
                <allowed_headers>
            ],
            "max_age_seconds": <max_age_seconds>,
            "expose_headers": [
                <expose_headers>
            ]
        }
    ]
}

请求参数

无。

请求头

此接口仅包含公共请求头。关于公共请求头的更多信息,请参见 公共请求头

请求消息体

调用该 API 需携带如 请求语法 中的 Json 消息体。该消息体各字段说明如下:

名称 类型 说明 是否必须
cors_rules Array 跨源的规则配置。
allowed_origin String 用户所期望的跨源请求来源,可以用 * 来进行通配。
allowed_methods Array 设置源所允许的 HTTP 方法。规则如下:
- 可指定的方法为:GET,PUT,POST,DELETE 与 HEAD;
- 可以单独指定以上方法,也可以组合指定以上方法的
- 可以使用 * 来进行通配
allowed_headers Array 设置源所允许的 HTTP 头,可以用 * 来进行通配。
expose_headers Array 设置客户能够从其应用程序(例如,从 JavaScript XMLHttpRequest 对象)进行访问的 HTTP 响应头。
max_age_seconds Integer 设置在预检请求(Options)被资源、HTTP 方法以及源识别之后,浏览器为预检请求缓存响应的时间,以秒为单位。默认值值为 5 秒,若设置为 0,即表示禁用缓存
resp_vary String 设置是否返回 Vary: Origin头。默认值为 disabled。可选值为:
- enabled 表示返回 Vary: Origin 头;
- disabled 表示不返回 Vary: Origin

响应头

此接口仅包含公共响应头。关于公共响应头的更多信息,请参见 公共响应头

错误码

错误码 错误描述 HTTP 状态码
OK 成功设置 CORS 200

其他错误码可参考 错误码列表

示例

请求示例

PUT /?cors HTTP/1.1
Host: mybucket.jn1.is.shanhe.com
Date: Sun, 16 Aug 2015 09:05:00 GMT
Authorization: authorization string

{
    "resp_vary": "enable",
    "cors_rules": [
        {
            "allowed_origin": "http://*.shanhe.com",
            "allowed_methods": [
                "PUT",
                "GET",
                "DELETE",
                "POST"
            ],
            "allowed_headers": [
                "x-qs-date",
                "Content-Type",
                "Content-MD5",
                "Authorization"
            ],
            "max_age_seconds": 200,
            "expose_headers": [
                "x-qs-date"
            ]
        },
        {
            "allowed_origin": "http://*.example.com",
            "allowed_methods": [
                "PUT",
                "GET",
                "DELETE",
                "POST"
            ],
            "allowed_headers": [
                "*"
            ],
            "max_age_seconds": 400
        }
    ]
}

响应示例

HTTP/1.1 200 OK
Server: shanhe
Date: Sun, 16 Aug 2015 09:05:00 GMT
Content-Length: 0
Connection: close
x-qs-request-id: aa08cf7a43f611e5886952542e6ce14b

SDK

此接口所对应的各语言 SDK 可参考 SDK 文档

这篇文档解决了您的问题吗?
0
0