#amazon-web-services #get
#amazon-веб-сервисы #получить
Вопрос:
Я просматриваю документ
Следующий код объясняет построение заголовка авторизации:
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>
И в примерах аутентификации (например, OBJECT GET) они отображаются StringToSign
следующим образом:
GETn
n
n
Tue, 27 Mar 2007 19:36:42 0000n
/johnsmith/photos/puppy.jpg
Мой вопрос:
Почему они использовали три n
после GET
? Есть ли причина для этого?
Кроме того, могу ли я написать приведенный выше код следующим образом:
GETn
n
n
Tue, 27 Mar 2007 19:36:42 GMTn
Комментарии:
1. Рискуя заявить очевидное,
n
здесь нет буквальной обратной косой черты и буквы n. Это управляющая последовательность для символа новой строки, ASCII LF, одного байта со значением 0x0A.
Ответ №1:
Подумайте о » n» в качестве разделителя. Поскольку в примере отправлено пустое Content-MD5
и Content-Type
, вы увидите три n
в ряд.
Я не знаю точно, что вы пытаетесь сделать, но, пожалуйста, имейте в виду, что пакеты SDK AWS могут обрабатывать подпись запроса, поэтому вам это не нужно.