首頁  >  文章  >  web前端  >  在跨來源請求中使用不透明回應有哪些限制和注意事項?

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

Patricia Arquette
Patricia Arquette原創
2024-10-22 16:24:03604瀏覽

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

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

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

標頭和正文存取的限制

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

資源使用和限制

儘管存在局限性,但不透明響應可以用作網頁上的資源,如果瀏覽器允許非CORS跨域資源。這些資源包括 <script>、<link rel="stylesheet">、媒體元素(<img alt="在跨來源請求中使用不透明回應有哪些限制和注意事項?" >、<video>、<audio>)、<object>、<embed> 和 < ;iframe>。但是,不透明響應對於字體資源無效。 </script>

與快取儲存 API 的互動

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

navigator.storage API 和不透明回應

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

使用注意事項

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

  • 不透明反應提供隔離,但限制對標頭和正文的存取。
  • 它們可以用作允許非 CORS 跨來源資源的網頁上的資源。
  • 特殊處理是與快取儲存 API 一起使用以避免快取添加失敗所必需的。
  • 謹防 navigator.storage API 中不透明回應的誇大儲存大小報告。

以上是在跨來源請求中使用不透明回應有哪些限制和注意事項?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn