使用不透明响应的限制和注意事项
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