Header中包含签名 构建CanonicalizedResource的方法 用户发送请求中访问的OOS目标资源被称为CanonicalizedResource。它的构建方法如下: 1. 将CanonicalizedResource置成空字符串(“”)。 2. 如果请求通过Host请求头来指定Bucket,那么增加Bucket名,并在其前面加上“/”(例如/BucketName)。对于Bucket名称在path中的请求,或者没有指定Bucket的请求,不做任何操作。 3. 在path中增加未编码的HTTP 请求URI,到请求参数处截止,不包含请求参数。 4. 如果请求包含子资源,例如?acl, ?website, ?logging,那么将所有的子资源按照字典序,从小到大排列并以’&’为分隔符生成子资源字符串。在CanonicalizedResource字符串尾添加“?”和子资源字符串。在构造CanonicalizedResource时,必须包含的子资源,OOS支持的子资源包括:acl、torrent、logging、location、policy、requestPayment、versioning、versions、versionId、notification、uploadId、uploads、partNumber、website、delete、lifecycle、tagging、cors、restore、inventory。 如果请求通过参数指定了要覆盖的响应头,那么在CanonicalizedResource后加上该请求参数和值。当进行签名时,不要对这些值进行编码。但是当发送请求的时候,用户必须对这些参数值进行编码。GET请求中的这些参数包括:responsecontenttype,responsecontentlanguage, responseexpires, responsecachecontrol,responsecontentdisposition, responsecontentencoding。例如:/BucketName/ObjectName?responsecontenttypeContentType 当发送批量删除文件请求时,delete参数需要包含在CanonicalizedResource中。 示例 以下是使用V2签名的示例,示例中使用的访问密钥如下: 参数 值 AccessKeyID 3a7451ae6b635b4f5ded SecretAccessKey c458417af3507ca686128f54efb3a00d5ad7ff09