数据协议 URL 大小的限制
在 Web 开发领域,“data:”URL 方案可以对任意数据进行编码,例如图像,转换为 URL。然而,在利用此协议时,会出现潜在的大小限制问题。
特定于浏览器的限制
“data:”URL 方案的规范并未强加通用的尺寸限制。相反,它让各个浏览器自行决定其限制。
-
Chrome:当前文档大小限制为 2MB。但是,任意 blob 的内存存储限制决定了总体大小限制,该限制因系统架构和平台而异。
-
Firefox:数据 URI 不存在明确的大小限制。
-
IE >= 9 & Edge: 最大尺寸为4GB。
-
Safari 和 Mobile Safari: 确切的大小限制尚未确定。
替代方法
如果“数据:”协议的大小限制带来了挑战,替代方案是
-
Blob URL: 此技术使用 URL API,允许创建引用 Blob 对象的 URL。这可以容纳更大的数据大小(在 Chrome 中最多 500MiB)。
-
FileSaver.js、StreamSaver.js、JSZip:这些库提供了在支持的浏览器中处理数据传输的替代方法。文件API。
相关注意事项
-
数据 URI 大小检测:Modernizr 能够确定浏览器对超过 32KB 的数据 URI 的支持。
-
安全影响: 使用“data:”协议嵌入数据直接绕过外部网络缓存。这可能会影响依赖缓存进行验证或内容分析的安全机制。
以上是浏览器特定的限制和数据 URL 大小限制的替代方案是什么?的详细内容。更多信息请关注PHP中文网其他相关文章!