本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 POST 的瀏覽器型上傳AWS (簽章第 4 版)
本節討論如何使用 HTTP POST 請求,透過瀏覽器將檔案直接上傳至 Amazon S3。它還包含有關如何使用 AWS Amplify JavaScript 程式庫將瀏覽器型檔案上傳至 Amazon S3 的資訊。
主題
使用 HTTP POST 的瀏覽器型上傳
Amazon S3 支援 HTTP POST 請求,讓使用者可以直接將內容上傳至 Amazon S3。透過使用 POST,最終使用者可以驗證請求,而不必透過保護憑證的安全中介節點來傳遞資料。因此,HTTP POST 有可能減少延遲。
下圖顯示使用 POST 請求的 Amazon S3 上傳。
-
使用者會從 Web 瀏覽器存取您的頁面。
-
您的網頁包含 HTML 表單,其中包含使用者將內容上傳至 Amazon S3 所需的所有必要資訊。
-
使用者透過 Web 瀏覽器將內容上傳至 Amazon S3。
傳送瀏覽器型 POST 請求的程序如下:
-
建立安全政策,指定限制您要在請求中允許的條件,例如可上傳物件的儲存貯體名稱,以及您要允許建立物件的金鑰名稱字首。
-
根據政策建立簽章。對於已驗證的請求,表單必須包含有效的簽章和政策。
-
建立使用者可存取的 HTML 表單,以便將物件上傳至 Amazon S3 儲存貯體。
下一節說明如何建立簽章來驗證請求。如需建立表單和安全性政策的相關資訊,請參閱 建立 HTML 表單 (使用 AWS Signature 第 4 版)。
計算簽章
對於已驗證的請求,HTML 表單必須包含安全政策和簽章的欄位。
計算簽章
-
使用 UTF-8 編碼建立政策。
-
將 UTF-8-encoded的政策位元組轉換為 base64。結果是
StringToSign。 -
建立簽署金鑰。
-
使用簽署金鑰來
StringToSign使用 HMAC-SHA256 簽署演算法簽署 。
如需建立 HTML 表單、安全政策和範例的詳細資訊,請參閱下列內容: