Amazon web services Amazon Web服务的请求授权
我正在通过考试 以下代码解释了授权标头的构造:Amazon web services Amazon Web服务的请求授权,amazon-web-services,get,Amazon Web Services,Get,我正在通过考试 以下代码解释了授权标头的构造: Authorization = "AWS" + " " + AWSAccessKeyId + ":" + Signature; Signature = Base64( HMAC-SHA1( YourSecretAccessKeyID, UTF-8-Encoding-Of( StringToSign ) ) ); StringToSign = HTTP-Verb + "\n" + Content-MD5 + "\n" + Cont
Authorization = "AWS" + " " + AWSAccessKeyId + ":" + Signature;
Signature = Base64( HMAC-SHA1( YourSecretAccessKeyID, UTF-8-Encoding-Of( StringToSign ) ) );
StringToSign = HTTP-Verb + "\n" +
Content-MD5 + "\n" +
Content-Type + "\n" +
Date + "\n" +
CanonicalizedAmzHeaders +
CanonicalizedResource;
CanonicalizedResource = [ "/" + Bucket ] +
<HTTP-Request-URI, from the protocol name up to the query string> +
[ subresource, if present. For example "?acl", "?location", "?logging", or "?torrent"];
CanonicalizedAmzHeaders = <described below>
我的问题:
为什么他们在GET
之后使用了三个\n
?这背后有什么原因吗
此外,我可以按如下方式编写上述代码:
GET\n
\n
\n
Tue, 27 Mar 2007 19:36:42 GMT\n
请将“\n”视为分隔符。当示例发送空的Content-MD5
和Content-Type
时,您将看到一行中有三个\n
我不知道您到底想做什么,但请记住,AWS SDK可以处理请求签名,因此您不必这样做。冒着声明显而易见的风险,
\n
不是字面上的反斜杠和字母n,在这里。它是换行符ASCII LF的转义序列,一个值为0x0A的单字节。
GET\n
\n
\n
Tue, 27 Mar 2007 19:36:42 GMT\n