一句話:pre-signed URL 不是一次性的——在到期前,同一條 URL 可以被點很多次,每次都成立。
一條 pre-signed URL 成不成立,只取決於(回想 Level 1 的兩層檢查):
X-Amz-Date + X-Amz-Expires);這三件事跟「用過幾次」完全無關。所以:一條下載 URL 在 15 分鐘內可以被下載 100 次;一條 PUT URL 在期限內可以被 PUT 好幾次(每次覆蓋前一次)。
比喻:它像一張有到期日的月票,不是「刷一次就作廢的單程票」——到期前你愛刷幾次就幾次。
如果你的需求是「這條連結只能用一次」,pre-signed URL 本身做不到。想達到類似效果,得靠外層機制:
這是它作為 bearer token 的必然——票不記名、也不「打洞」,期限內就一直有效。設計時務必把這點算進去。