全部產品
Search
文件中心

Alibaba Cloud SDK:請求結構和簽名機制

更新時間:Jul 01, 2024

如果現有的SDK無法滿足您的業務情境,您需要自行封裝HTTP請求。

請求封裝步驟

步驟一:確定雲產品OpenAPI風格

不同風格的OpenAPI,封裝 HTTP 要求的方法也會存在差異,需要通過閱讀雲產品OpenAPI的文檔,確定是 RPC 風格還是 ROA 風格。詳情請參見OpenAPI 風格

步驟二:構造請求體&簽名

不同風格的OpenAPI介面,構造的請求體存在差異,且需要對請求進行簽名操作,請參看最新版本簽名機制V3版本請求體&簽名機制

步驟三:處理返回資料

如果您明確知曉傳回值的內容,可將返回資料轉化為已經定義好的對象,否則只能進行傳回值泛化處理。

步驟四:異常捕獲及重試

由於網路、傳參等問題,可能會出現請求異常的情況,需要做好異常捕獲和重試。

為什麼要對請求進行簽名

對HTTP請求進行簽名是為了保護雲端服務免受惡意請求的攻擊以及提前攔截無效請求。簽名是通過在請求中添加一些特殊的資訊來實現的,這些資訊包括密鑰、時間戳記、隨機數等。

通過對HTTP請求進行簽名,可以實現以下目的:

  1. 防止偽造請求:簽名可以協助OpenAPI網關識別請求是否來自合法的用戶端,防止非法請求進入系統。

  2. 防止重放攻擊:簽名包含時間戳記和隨機數等資訊,可以避免請求被重放,確保每個請求只被執行一次。

  3. 防止請求篡改:簽名包含密鑰資訊,可以確保請求在傳輸過程中沒有被篡改或者偽造。

  4. 支援審計:簽名可以記錄請求的來源資訊和時間戳記等資訊,方便服務提供者對系統進行審計和追蹤。