”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 在跨源请求中使用不透明响应有哪些限制和注意事项?

在跨源请求中使用不透明响应有哪些限制和注意事项?

发布于2024-11-04
浏览:751

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

使用不透明响应的限制和注意事项

Fetch API 引入的不透明响应表示 CORS 时跨源请求的结果已禁用。虽然它们提供了一定的隔离性,但仍存在一些需要注意的限制和潜在问题。

标头和正文访问的限制

不透明响应的主要限制是无法访问响应的标头或正文。标头和正文相关方法(json()、text())等属性不可用。这对于保护远程源的隐私至关重要。

资源使用和限制

尽管存在局限性,但不透明响应可以用作网页上的资源,如果浏览器允许非CORS跨源资源。这些资源包括

与缓存存储 API 的交互

在缓存存储 API 中使用不透明响应时,会出现潜在的陷阱。无论实际请求状态如何,不透明响应的状态属性均为 0。由于 add() 和 addAll() 方法拒绝具有非 2XX 状态代码的响应,因此不透明响应将无法添加到缓存中。要避免这种情况,请显式执行 fetch(),然后使用不透明响应执行 put()。

navigator.storage API 和不透明响应

出于安全原因,浏览器会垫不透明响应,防止跨域信息泄露。这种填充显着增加了不透明响应的报告存储大小。在 Google Chrome 中,每个不透明响应至少贡献约 7 MB 的存储使用量。如果不仔细管理,这可能会导致超出配额的异常。

使用注意事项

使用不透明响应时,请记住以下几点:

  • 不透明响应提供隔离,但限制对标头和正文的访问。
  • 它们可以用作允许非 CORS 跨源资源的网页上的资源。
  • 特殊处理是与缓存存储 API 一起使用以避免缓存添加失败所需。
  • 谨防 navigator.storage API 中不透明响应的夸大存储大小报告。
版本声明 本文转载于:1729584676如有侵犯,请联系[email protected]删除
最新教程 更多>
  • 如何使用 NumPy 的“np.newaxis”在数组操作中启用广播?
    如何使用 NumPy 的“np.newaxis”在数组操作中启用广播?
    NumPy 的 'np.newaxis' 是什么以及如何使用它理解 'np.newaxis'NumPy 的“np.newaxis”,也称为“None”,是一个伪索引,用于临时向数组添加轴。使用一次时,它将数组的维度增加一。例如,1D 数组变成 2D 数组,2D 数组变...
    编程 发布于2024-11-08
  • MySQL 如何处理较短列中的长整数:溢出或截断?
    MySQL 如何处理较短列中的长整数:溢出或截断?
    较短列中的长整数转换:机制和公式将长整数插入较短整数列时,MySQL 通常会截断该值以适合指定的长度。但是,在某些情况下,行为可能会有所不同,从而导致意外的转换。考虑一个 10 位长整数列 some_number。如果将超过最大整数范围 (2147483647) 的值插入到此列中,MySQL 会将该...
    编程 发布于2024-11-08
  • 如何在教义 2 中创建带有额外字段的多对多链接表?
    如何在教义 2 中创建带有额外字段的多对多链接表?
    Doctrine 2 和带有额外字段的多对多链接表本文解决了在 Dotrine 2 中创建多对多关系的问题,其中链接表包含一个附加值,特别是在库存系统的上下文中。原则 2 中的多对多关系可以使用不包含任何附加字段的链接表来建立。但是,当每个链接都需要额外的值时,必须将链接表重新定义为新实体。提供的代...
    编程 发布于2024-11-08
  • JavaScript 中的单管道运算符如何处理浮点数和整数?
    JavaScript 中的单管道运算符如何处理浮点数和整数?
    探索 JavaScript 中单管道运算符的按位性质在 JavaScript 中,单管道运算符(“|”)执行按位运算称为按位或的运算。理解此操作对于理解其对不同输入值的影响至关重要,如以下示例所示:console.log(0.5 | 0); // 0 console.log(-1 | 0); //...
    编程 发布于2024-11-08
  • 列表理解和Regae
    列表理解和Regae
    啊。我一直害怕的那一刻。 第一篇文章,包含我自己的想法、观点和可能的知识细分。 请注意,亲爱的读者,这并不是对 Python 单行 for 循环、追加到列表和返回一些数据的能力的深入探讨或令人难以置信的分解。不,不。这只是展示了如何有趣——以及如何愚蠢——小东西可以组合在一起,让一...
    编程 发布于2024-11-08
  • 如何解决 WAMP 上由于缺少 Openssl 扩展而导致的 Composer 错误?
    如何解决 WAMP 上由于缺少 Openssl 扩展而导致的 Composer 错误?
    Composer 出现问题? WAMP 上缺少 Openssl 扩展尝试将 Composer 合并到 WAMP 设置中时,您可能会遇到警告:“The openssl 扩展丢失。”此消息表明,如果没有此扩展程序,您的系统的安全性和稳定性将会受到影响。故障排除步骤:您已经认真浏览了 WAMP 界面,标记...
    编程 发布于2024-11-08
  • 如何解决 Windows 上 PHP 中的 SSL 套接字传输问题?
    如何解决 Windows 上 PHP 中的 SSL 套接字传输问题?
    解决 PHP 中的 SSL Socket 传输问题在 Windows 系统上使用 PHP 时,开发人员可能会遇到错误“无法连接到 ssl: //...”由于启用“ssl”套接字传输存在困难。本文将指导您排除故障并解决此问题,并介绍您迄今为止已采取的具体步骤。故障排除步骤检查 PHP 配置:确保 ph...
    编程 发布于2024-11-08
  • 为什么模拟鼠标悬停在 Chrome 中不会触发 CSS 悬停?
    为什么模拟鼠标悬停在 Chrome 中不会触发 CSS 悬停?
    在 JavaScript 中模拟鼠标悬停:澄清差异并实现手动控制尝试在 Chrome 中模拟鼠标悬停事件时,您可能遇到了一个有趣的问题问题。尽管“mouseover”事件监听器已成功激活,但相应的CSS“hover”声明并未生效。此外,尝试在鼠标悬停侦听器中使用 classList.add(&quo...
    编程 发布于2024-11-08
  • 你能衡量 MySQL 索引的有效性吗?
    你能衡量 MySQL 索引的有效性吗?
    了解 MySQL 索引性能优化 MySQL 查询对于高效的数据库处理至关重要。索引是提高搜索性能的关键技术,但监控其有效性也同样重要。本文解决了是否可以评估 MySQL 索引性能的问题并提供了解决方案。识别查询性能确定查询是否使用索引,执行以下查询:EXPLAIN EXTENDED SELECT c...
    编程 发布于2024-11-08
  • 如何自定义 PDF.js
    如何自定义 PDF.js
    PDF.js 是一个很棒的开源项目,它经常更新并且不断添加新功能,但是从外观上看它很丑陋,或者可以说它看起来已经过时了。从 PDF.js 获取最新的 PDF 功能和修复,但在演示方面拥有流畅的外观怎么样? PdfJsKit 的 pdf 查看器并不引人注目,它不会直接更改 PDF.js 的代码,它只是...
    编程 发布于2024-11-08
  • 即将推出大事
    即将推出大事
    我决定从头开始构建全栈 Web 开发人员课程,从 HID 一直到服务器和可扩展性。所有需要知道的,都将免费涵盖免费! 以下是涵盖的内容: 互联网 互联网是如何运作的? 什么是HTTP? 浏览器及其工作原理? DNS 及其工作原理? 什么是域名? 什么是托管? 前端 H...
    编程 发布于2024-11-08
  • HTML 页面的剖析
    HTML 页面的剖析
    编程 发布于2024-11-08
  • 设计有效数据库的终极指南(说真的,我们是认真的)
    设计有效数据库的终极指南(说真的,我们是认真的)
    Alright, you’ve got a shiny new project. Maybe it's a cutting-edge mobile app or a massive e-commerce platform. Whatever it is, behind all that glitz ...
    编程 发布于2024-11-08
  • 使用 html css 和 javascript 的图像轮播旋转幻觉
    使用 html css 和 javascript 的图像轮播旋转幻觉
    代码 旋转图像轮播 身体 { 显示:柔性; 调整内容:居中; 对齐项目:居中; 高度:100vh; 保证金:0; 背景颜色:#0d0d0d; 溢出:隐藏; ...
    编程 发布于2024-11-08
  • 如何开始 Web 开发
    如何开始 Web 开发
    介绍 Web 开发是当今最受欢迎的职业之一,对于那些对 前端(用户看到的内容)和 后端(服务器逻辑)感兴趣的人来说)。如果您刚刚起步,想知道从哪里开始或者作为开发者可以赚多少钱,本指南将为您提供清晰的入门路径和资源。 什么是网页开发? 网络开发分为两大区域: 前端:...
    编程 发布于2024-11-08

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3