接口规范

请求响应格式标准

  • HTTP请求,Querystring中参数的Key,为首字母小写的驼峰方式。如 upLoadId,partNumber等。

  • 所有用户自定义Meta,以x-bce-meta-*的形式放Header中,自定义Meta总大小不得超过2K。x-bce-meta-*的Key会被Server端统一按照小写进行处理。

例如:用户使用PutObject接口上传了x-bce-meta-DeMo:value,Server端会统一按照小写x-bce-meta-demo:value进行处理,用户在使用GetObject接口时,Sever端的返回值为x-bce-meta-demo:value

  • 除RFC2616规定的标准Header外,其他Header以x-bce-*的形式定义。

  • BOS的RESTful API支持仅支持JSON形式。

  • 所有JSON中,Key均为首字母小写的驼峰方式。

  • 每个请求响应中均带有x-bce-request-idx-bce-debug-id这两个Header。

  • Header中Date、Content-MD5、Content-Type、Content-Length等相关字段遵守RFC 2616约束。

  • 依据HTTP协议的规定,Content-MD5既要做MD5也要进行Base64编码,其计算方法如下:

    Content-MD5 = "Content-MD5" ":" md5-digest
    md5-digest   = <base64 of 128 bit MD5 digest as per RFC 1864>
    

公共请求头

名字 类型 描述
Authorization String 用于验证请求合法性的认证信息。更多参见鉴权认证
Content-Length String RFC2616中定义的HTTP请求内容的长度
Content-Type String RFC2616中定义的HTTP请求内容的类型
Content-MD5 String RFC2616定义的HTTP请求内容的MD5摘要,可以通过携带该字段来验证保存在BOS侧的文件和用户预期的文件是否一致。
Date String HTTP 1.1协议中规定的GMT时间,如Wed, 06 Apr 2016 06:34:40 GMT
Host String 访问Host值,取值为BucketName.bj.baidubce.com
x-bce-date String 当前时间,遵循ISO8601规范,格式如2016-04-06T08:23:49Z

公共返回头

名字 类型 描述
Content-Length String RFC2616中定义的HTTP请求内容长度。
Content-Type String RFC2616中定义的HTTP请求内容的类型。
Connection String 服务器是否断开连接,取值为close或者keep-alive
Date String HTTP 1.1协议中规定的GMT时间,如Wed, 06 Apr 2016 06:34:40 GMT
ETag String Object的HTTP协议实体标签。ETag (entity tag) 在每个Object生成的时候被创建,用于标识一个Object的内容,ETag值可以用于检查Object内容是否发生变化。
Server String 服务器的名字,取值为BceBos
x-bce-request-id String 由BCE BOS创建,是请求BceBos的唯一标识,
x-bce-debug-id String 由BCE BOS创建,用于帮助排除故障的标识ID,如果在使用BOS过程中遇到问题,可以在工单中提供该字段便于快速定位问题。

低频/冷存储和标准存储API接口的差异

文件的存储类型是基于object实现的,低频存储和冷存储API实现时通过给object增加一个storage class属性来实现。storage class属性值为STANDARD、STANDARD_IA (infrequent access)和COLD,分别代表标准存储、低频存储和冷存储。

以下低频/冷存储API接口增加storage class属性:

  • PutObject、InitiateMultipartUpload、CopyObject、AppendObject、PostObject接口在请求头域中设置storage class属性参数x-bce-storage-class。

    请求头域

    名称 类型 描述 是否必需
    x-bce-storage-class String 指定BOS的对象的存储类型,目前支持STANDARDSTANDARD_IACOLD 否,默认为STANDARD
  • GetObject和GetObjectMeta在响应头域中返回x-bce-storage-class。

    响应头域

    名称 类型 描述
    x-bce-storage-class String BOS的对象的存储类型,目前支持STANDARDSTANDARD_IACOLD
  • ListObjects、ListMultipartUploads和ListParts在响应元素中返回storageClass。

    响应元素

    名称 类型 描述
    storageClass String BOS的对象的存储类型,目前支持STANDARDSTANDARD_IACOLD