」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 在跨來源請求中使用不透明回應有哪些限制和注意事項?

在跨來源請求中使用不透明回應有哪些限制和注意事項?

發佈於2024-11-04
瀏覽:988

What Are the Limitations and Considerations for Using Opaque Responses in Cross-Origin Requests?

使用不透明回應的限制和注意事項

Fetch API 引入的不透明回應表示 CORS 時跨來源請求的結果已停用。雖然它們提供了一定的隔離性,但仍存在一些需要注意的限制和潛在問題。

標頭和正文存取的限制

不透明回應的主要限制是無法存取回應的標頭或正文。標頭和正文相關方法(json()、text())等屬性不可用。這對於保護遠端來源的隱私至關重要。

資源使用與限制

儘管有局限性,但不透明回應可以用作網頁上的資源,如果瀏覽器允許非CORS跨來源資源。這些資源包括

與快取儲存 API 的交互作用

在快取儲存 API 中使用不透明回應時,會出現潛在的陷阱。無論實際請求狀態為何,不透明回應的狀態屬性均為 0。由於 add() 和 addAll() 方法拒絕具有非 2XX 狀態碼的回應,因此不透明回應將無法加入到快取中。若要避免這種情況,請明確執行 fetch(),然後使用不透明回應執行 put()。

navigator.storage API 和不透明回應

基於安全原因,瀏覽器會墊不透明回應,防止跨域資訊外洩。這種填充顯著增加了不透明回應的報告儲存大小。在 Google Chrome 中,每個不透明回應至少貢獻約 7 MB 的儲存使用量。如果不仔細管理,這可能會導致超出配額的異常。

使用注意事項

使用不透明回應時,請記住以下幾點:

  • 不透明回應提供隔離,但限制對標頭和正文的存取。
  • 它們可以用作網頁上的資源,允許非 CORS 跨源資源。
  • 與快取儲存 API 一起使用時需要進行特殊處理,以避免快取新增失敗。
  • 謹防導航器中不透明響應的誇大儲存大小報告。儲存API。
版本聲明 本文轉載於:1729584676如有侵犯,請洽[email protected]刪除
最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3