描述
此篇文档将为您介绍在使用 API 时候会使用到的公共请求头部(Request Header),下文提到的头部在之后的具体 API 文档中不再赘述。
请求头部列表
Header 名称 | 描述 | 类型 | 是否必选 |
Authorization | string | 是。针对公有读的对象或通过请求参数传递鉴权信息,此头部为可选项。 | |
Content-Length | RFC 2616中定义的 HTTP 请求内容长度(字节)。 | integer | 否。针对 PUT 和 POST 请求(指定 Transfer-Encoding 请求头部的 PUT Object 请求除外),此头部是必选项。 |
Content-Type | RFC 2616中定义的 HTTP 请求内容类型(MIME)例如 application/xml 或 image/jpeg 。 | string | 否。针对有请求体的 PUT 和 POST 请求,此头部是必选项。 |
Content-MD5 | RFC 1864中定义的请求体内容的16字节二进制 MD5 哈希值的 Base64 编码形式,最终的取值长度应为24个字符,请注意在编写代码时使用正确的方法和参数,例如 ZzD3iDJdrMAAb00lgLLeig== 。此头部用于完整性检查,验证请求体在传输过程中是否发生变化。针对有请求体的 PUT 和 POST 请求(除 POST Object),强烈建议携带此头部。 | string | 否。 |
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。 | string | 上传或复制对象(包括简单上传/复制与分块上传/复制)时必选,下载对象时不能指定此头部。 |
SSE-KMS
Header 名称 | 描述 | 类型 | 是否必选 |
x-cos-server-side-encryption | 服务端加密算法,使用 SSE-KMS 时指定为:cos/kms。 | 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 | 服务端加密算法,支持 AES256和 KMS,值:AES256、cos/kms。 | string | 是。 |
x-cos-server-side-encryption-customer-key | 服务端加密密钥的 Base64 编码。 例如 MDEyMzQ1Njc4OUFCQ0RFRjAxMjM0NTY3ODlBQkNERUY= 。 | string | 是。 |
x-cos-server-side-encryption-customer-key-MD5 | 服务端加密密钥的 MD5 哈希值,使用 Base64 编码。 例如 U5L61r7jcwdNvT7frmUG8g== 。 | string | 是。 |