使用不透明回應的限制和注意事項
Fetch API 引入的不透明回應表示 CORS 時跨來源請求的結果已停用。雖然它們提供了一定的隔離性,但仍存在一些需要注意的限制和潛在問題。
標頭和正文存取的限制
不透明回應的主要限制是無法存取回應的標頭或正文。標頭和正文相關方法(json()、text())等屬性不可用。這對於保護遠端來源的隱私至關重要。
資源使用與限制
儘管有局限性,但不透明回應可以用作網頁上的資源,如果瀏覽器允許非CORS跨來源資源。這些資源包括
與快取儲存 API 的交互作用
在快取儲存 API 中使用不透明回應時,會出現潛在的陷阱。無論實際請求狀態為何,不透明回應的狀態屬性均為 0。由於 add() 和 addAll() 方法拒絕具有非 2XX 狀態碼的回應,因此不透明回應將無法加入到快取中。若要避免這種情況,請明確執行 fetch(),然後使用不透明回應執行 put()。
navigator.storage API 和不透明回應
基於安全原因,瀏覽器會墊不透明回應,防止跨域資訊外洩。這種填充顯著增加了不透明回應的報告儲存大小。在 Google Chrome 中,每個不透明回應至少貢獻約 7 MB 的儲存使用量。如果不仔細管理,這可能會導致超出配額的異常。
使用注意事項
使用不透明回應時,請記住以下幾點:
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3