繁体   English   中英

将二进制数据传递到浏览器的最快方法是什么?

[英]What is the fastest way to deliver binary data to browser?

我想向浏览器提供自定义二进制数据。 它们实际上是图像,但是我需要提供同一图像的多个版本以及一些元数据。 网络性能应仅使用单个GET请求即可实现,并且应在浏览器中快速解压。 到目前为止,我可以想到以下解决方案:

  • 图像精灵(元数据是什么?)
  • 压缩
  • 消息包
  • JSON + base64编码

我不在乎<IE8。 我认为在我的情况下无法避免XHR,但是由于我需要从不同的(子)域进行加载,因此相同的来源策略使情况变得更糟。 尽管可以通过服务器路由解决此问题,但另一方面,这会阻止使用CDN。

这取决于数据结构,但是如果您需要对JavaScript中的数据进行处理-有两种(三种)方法可以实现此目的

  • JSON + base64或转义特殊字符
  • XML + base64或转义(在其中之一之间进行选择取决于首选项)
  • 较难但最有效的-具有转义0字符和特殊标记的纯文本(制作三个特殊代码-0x20 0x40用于0x00字符,0x20 0x41作为标记,0x20 0x42用于0x20)

事实证明,当今(以及不久的将来-IE9)浏览器对二进制数据的支持非常差,因此无论您决定使用哪种浏览器,都必须将其编码(可编码?)成Javascript字符串,即。 JSON + base64。

对于好奇的人: http : //status-501.tumblr.com/post/20293218962/delivering-binary-data-to-browser

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM