使用不透明回應的限制和注意事項
不透明回應由 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 的儲存使用量。如果不仔細管理,這可能會導致超出配額的異常。
使用注意事項
使用不透明反應時,請記住以下幾點:
以上是在跨來源請求中使用不透明回應有哪些限制和注意事項?的詳細內容。更多資訊請關注PHP中文網其他相關文章!