Fetch API 中不透明响应的限制
Fetch API 中定义的不透明响应源于不使用 CORS 的跨源请求(跨源资源共享)启用,对其使用施加了一定的限制。
访问限制:
首先,不透明的响应无法通过响应属性揭示有意义的详细信息,例如headers 或 Body 方法,由于其黑盒性质。
用作页面资源:
不透明响应可作为网页上特定元素的有效资源,其中非- 允许跨域资源CORS。根据 Mozilla 开发者网络文档,兼容元素包括:
但是,它们不适合字体资源。请查阅相关规范以确定每种资源类型的兼容性。
缓存存储 API 交互:
在缓存存储 API 中使用不透明响应的潜在陷阱是其状态代码无论请求结果如何,始终设置为 0。由于缓存存储 API 拒绝具有非 2XX 状态代码的响应,因此无法直接通过 add() 或 addAll() 添加不透明响应。
解决方法是显式获取并使用 put() 方法以及不透明响应,承认缓存的响应可能代表服务器错误的风险。
navigator.storage API 含义:
为了防止跨域信息泄漏,在计算存储配额限制时,不透明响应会产生大量的大小填充。在 Google Chrome 等浏览器中,每个缓存的不透明响应至少为整体存储使用贡献 7 MB 的空间。在管理不透明响应的缓存容量时应考虑此因素。
以上是在 Fetch API 中使用不透明响应时有哪些限制和注意事项?的详细内容。更多信息请关注PHP中文网其他相关文章!