描述
此篇文档将为您介绍在使用 API 时候会使用到的公共请求头部(Request Header),下文提到的头部在之后的具体 API 文档中不再赘述。
请求头部列表
Header 名称 | 描述 | 类型 | 是否必选 |
Authorization | 携带鉴权信息,用以验证请求合法性的签名信息; | string | 是, 针对公有读的对象或通过请求参数传递鉴权信息,此头部为可选项 |
Content-Length | RFC 2616中定义的 HTTP 请求内容长度(字节) | integer | 针对 PUT 和 POST 请求(指定 Transfer-Encoding 请求头部的 PUT Object 请求除外),强烈建议携带此头部 针对 GET、HEAD、DELETE 和 OPTIONS 请求,不能指定此头部 |
Content-Type | RFC 2616中定义的 HTTP 请求内容类型(MIME)例如application/xml 或 image/jpeg | string | 针对有请求体的 PUT 和 POST 请求,此头部是必选项 针对 GET、HEAD、DELETE 和 OPTIONS 请求,不能指定此头部 |
Content-MD5 | RFC 1864中定义的请求体内容的16字节(128位)二进制 MD5 哈希值的 Base64 编码形式,用于完整性检查,验证请求体在传输过程中是否发生变化,最终的取值长度应为24个字符,请注意在编写代码时使用正确的方法和参数,例如 ZzD3iDJdrMAAb00lgLLeig== | string | 针对有请求体的 PUT 和 POST 请求(除 POST Object),此头部是必选项 针对 GET、HEAD、DELETE 和 OPTIONS 请求,不能指定此头部 |
Date | RFC 1123中定义的 GMT 格式当前时间,例如 Wed,29 May 2019 04:10:12 GMT | string | 否 |
Host | 请求的主机,形式为<BucketName-APPID>.cos.<Region>.myqcloud.com | string | 是 |
x-cos-security-token | string | 否, 当使用临时密钥并通过 Authorization 携带鉴权信息时,此头部为必选项 |
服务端加密专用头部
对于支持服务端加密(Server Side Encryption,SSE)的接口,根据不同的加密方式适用如下请求头部,请参阅具体的接口文档确定是否适用 SSE。下列头部的是否必选仅针对使用 SSE 的场景,如果请求不支持 SSE 的接口或不使用 SSE ,则以下头部均无需携带。详情请参见 服务端加密概述。
SSE-COS
Header 名称 | 描述 | 类型 | 是否必选 |
x-cos-server-side-encryption | 服务端加密算法,使用 SSE-COS 时指定为:AES256 或 SM4。 AES256 代表使用 SSE-COS 模式,加密算法为 AES256。 SM4 代表使用 SSE-COS 模式,加密算法为 SM4。 | string | 上传或复制对象(包括简单上传/复制与分块上传/复制)时携带此头部则使用 SSE-COS 加密,不携带此头部会以存储桶加密配置来加密。下载对象时不能指定此头部。 |
SSE-KMS
Header 名称 | 描述 | 类型 | 是否必选 |
x-cos-server-side-encryption | 服务端加密算法,使用 SSE-KMS 时指定为:cos/kms | string | 上传或复制对象(包括简单上传/复制与分块上传/复制)时携带此头部则使用 SSE-KMS 加密,不携带此头部会以存储桶加密配置来加密。下载对象时不能指定此头部 |
x-cos-server-side-encryption-cos-kms-algorithm | 当 x-cos-server-side-encryption 值为 cos/kms 时,用于指定 KMS 加密算法,支持值:AES256、SM4。如不指定,则默认使用 AES256 算法。 | string | 否 |
x-cos-server-side-encryption-cos-kms-key-id | 当 x-cos-server-side-encryption 值为 cos/kms 时,用于指定 KMS 的用户主密钥 CMK,如不指定,则使用 COS 默认创建的 CMK,更多详细信息可参见 SSE-KMS 加密 | string | 否 |
x-cos-server-side-encryption-context | 当 x-cos-server-side-encryption 值为 cos/kms 时,用于指定加密上下文,值为 JSON 格式加密上下文键值对的 Base64 编码。 例如 eyJhIjoiYXNkZmEiLCJiIjoiMTIzMzIxIn0= | string | 否 |
SSE-C
Header 名称 | 描述 | 类型 | 是否必选 |
x-cos-server-side-encryption-customer-algorithm | SSE-C模式加密算法,目前支持 AES256、SM4(新增) | string | 是 |
x-cos-server-side-encryption-customer-key | 服务端加密密钥的 Base64 编码 例如 MDEyMzQ1Njc4OUFCQ0RFRjAxMjM0NTY3ODlBQkNERUY= | string | 是 |
x-cos-server-side-encryption-customer-key-MD5 | 服务端加密密钥的 MD5 哈希值,使用 Base64 编码 例如 U5L61r7jcwdNvT7frmUG8g== | string | 是 |