使用不透明响应的限制和注意事项
不透明响应由 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中文网其他相关文章!