数据协议 URL 的大小限制
在网页浏览领域,data: 协议作为意味着将数据嵌入到 URL 本身中,通常使用 Base64 编码。虽然数据 URI 规范本身不施加任何大小限制,但它使应用程序能够建立自己的限制。
流行的 Web 浏览器限制:
-
Chrome: 对活动文档中的数据 URI 施加 2MB 的限制。但是,总体限制与任意 blob 内存存储容量一致:x64 系统(不包括 ChromeOS 和 Android)为 2GB,其他系统为 Total_physical_memory / 5。
-
Firefox: 拥有不受限制的限制对于数据 URI。
-
IE 9 和 Edge: 强制4GB 大小上限。
-
Safari 和 Mobile Safari:这些浏览器的具体限制尚未确定。
替代方案:
在数据 URI 限制证明不足的情况下,替代方法存在:
-
Blob URL: 使用文件 API 的 URL.createObjectURL() 和 URL API 创建,它们提供了一种存储大量数据的方法(在 Chrome 中最多为 500MiB) ).
-
其他选项: FileSaver.js, StreamSaver.js 和 JSZip 为处理大数据传输要求提供了额外的可能性。
检测和影响:
- Modernizr 提供了一种检测解决方案数据 URI 支持超过 32kb。
- 超过浏览器限制的数据 URI 可能会导致不利的结果,例如 Chrome 的“Aw,Snap”错误消息。
通过了解这些限制并利用适当的替代方案,开发人员可以有效地利用数据协议 URL 来满足其数据处理要求。
以上是不同 Web 浏览器中数据协议 URL 的大小限制是什么?的详细内容。更多信息请关注PHP中文网其他相关文章!