Skip to content
大纲

接口规范

请求响应格式标准

  • HTTP请求,Querystring中参数的Key,为首字母小写的驼峰方式。如 upLoadId,partNumber等。
  • 所有用户自定义Meta,以 x-fos-meta-_ 的形式放Header中,自定义Meta总大小不得超过2K。x-fos-meta-_ 的Key会被Server端统一按照小写进行处理。

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

  • 除RFC2616规定的标准Header外,其他Header以 x-fos-* 的形式定义。
  • FOS的RESTful API支持仅支持JSON形式。
  • 所有JSON中,Key均为首字母小写的驼峰方式。
  • 每个请求响应中均带有x-fos-request-id和x-fos-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>

公共请求头

名字类型描述
Content-LengthStringRFC2616中定义的HTTP请求内容的长度。
Content-TypeStringRFC2616中定义的HTTP请求内容的类型。
Content-MD5StringRFC2616定义的HTTP请求内容的MD5摘要,可以通过携带该字段来验证保存在FOS侧的文件和用户预期的文件是否一致。
DateStringHTTP 1.1协议中规定的GMT时间,如Wed, 06 Apr 2016 06:34:40 GMT。
HostString访问Host值,取值为BucketName.fos.flyme.com。
x-fos-dateString当前时间,遵循ISO8601规范,格式如2016-04-06T08:23:49Z。

公共返回头

名字类型描述
Content-LengthStringRFC2616中定义的HTTP请求内容长度。
Content-TypeStringRFC2616中定义的HTTP请求内容的类型。
Content-MD5StringRFC2616定义的HTTP请求内容的MD5摘要,可以通过携带该字段来验证保存在FOS侧的文件和用户预期的文件是否一致。
ConnectionString服务器是否断开连接,取值为close或者keep-alive。
DateStringHTTP 1.1协议中规定的GMT时间,如Wed, 06 Apr 2016 06:34:40 GMT。
eTagStringObject的HTTP协议实体标签。eTag (entity tag) 在每个Object生成的时候被创建,用于标识一个Object的内容,eTag值可以用于检查Object内容是否发生变化。
ServerString服务器的名字,取值为Fos。
x-fos-request-idString由FOS创建,是请求Fos的唯一标识。
x-fos-debug-idString由FOS创建,用于帮助排除故障的标识ID,如果在使用FOS过程中遇到问题,可以在工单中提供该字段便于快速定位问题。