一句話:method 是 HTTP 請求開頭那個大寫字,告訴 server「我想對這個資源做什麼」。同一條網址配不同 method,意思完全不同。
你每次點連結、送表單,瀏覽器都在送 HTTP 請求,第一行長這樣:GET /photo.jpg HTTP/1.1——開頭的 GET 就是 method。pre-signed URL 之所以在乎它,是因為簽章會把 method 綁進去:簽一條 GET URL,對方就只能下載;要讓對方上傳,得另外簽一條 PUT。
比喻:server 是倉庫、資源是箱子。GET=把箱子搬給我;PUT=這箱東西幫我放到那位置;HEAD=別搬,只告訴我它多重、貼什麼標籤。
| method | 用途 | 有 request body 嗎 | server 回 body 嗎 |
|---|---|---|---|
GET | 下載 / 讀取 | 否 | 是 |
PUT | 上傳 / 覆寫 | 是(就是要存的內容) | 通常無內容 |
HEAD | 只探測 metadata | 否 | 否(只有 header) |
記住這句就夠銜接後面:method=這條 pre-signed URL「被允許的動作」。GET/PUT/HEAD 各該怎麼用是 Level 2 的主題。