title: AWS - What a canonical request is really?
body: <p>I'm trying to work directly with the REST API for the S3 service from Amazon and I don't get to understand what a canonical request is.</p>
  
  <p>What I understand is:</p>
  
  <ul>
  <li>You need an Authorization header or query string parameters (I will use the header)</li>
  <li>This Authorization header contains a hashed HTTP request (the canonical request)</li>
  <li>This HTTP request needs a hashed payload and then is concatenated to a longer string.</li>
  <li>This string is hashed several times.</li>
  <li>The result is the Authentication header.</li>
  </ul>
  
  <p><a href="https://i.stack.imgur.com/8dqfW.png" rel="noreferrer"><img src="https://i.stack.imgur.com/8dqfW.png" alt="Authentication header creation line"></a></p>
  
  <p>Then, the questions are:</p>
  
  <ul>
  <li>The canonical request is the same as the real request?</li>
  <li>A canonical request string is made only once and then used on the next requests?</li>
  </ul>