Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/430.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 传输原始二进制文件而不是JSON_Javascript_Json_Binary_Typed Arrays - Fatal编程技术网

Javascript 传输原始二进制文件而不是JSON

Javascript 传输原始二进制文件而不是JSON,javascript,json,binary,typed-arrays,Javascript,Json,Binary,Typed Arrays,我们都知道,在客户端和服务器(确切地说是web浏览器和web服务器)之间发送原始二进制文件而不是JSON,可以大大减少带宽的使用并提高数据传输的速度,但正如我们所看到的,所有流行的基于web的系统仍然使用JSON。Gmail、Google Plus、Facebook、Linkedin和…… 现在,我们在JavaScript中使用了类型化数组,这使得解析二进制数据变得非常简单和快速 目前,我打算开发一个基于web的金融系统,我认为使用原始二进制文件使系统比JSON快得多 我想知道为什么那些流行的基

我们都知道,在客户端和服务器(确切地说是web浏览器和web服务器)之间发送原始二进制文件而不是JSON,可以大大减少带宽的使用并提高数据传输的速度,但正如我们所看到的,所有流行的基于web的系统仍然使用JSON。Gmail、Google Plus、Facebook、Linkedin和……
现在,我们在JavaScript中使用了
类型化数组
,这使得解析二进制数据变得非常简单和快速

目前,我打算开发一个基于web的金融系统,我认为使用原始二进制文件使系统比JSON快得多

我想知道为什么那些流行的基于web的系统没有使用原始二进制文件而不是JSON在客户端和服务器之间传输数据?有什么我不知道的技术原因吗


提前感谢。

类型化数组是最近才出现的,历史上许多浏览器都不支持它。当你想让尽可能多的人使用你的产品时,你要选择最常见的分母


这并不是说在未来,这些系统将不会采用这种方法,而是在得到大多数人的支持之前。

Endianness问题将是一个原因。灵活性是另一个方面,二进制数据包格式是固定的,因此您需要在第一时间正确使用它,而JSON之类的东西没有严格的字段顺序,您可以在不破坏兼容性的情况下添加新字段(不适用于删除它们)。

浏览器兼容性(主要是IE)。查看Caniuse类型化数组:

简短而简单,与市场兼容+感谢有用的答案,+1您是否对JSON和原始二进制进行了基准测试?原始二进制文件可能会减少带宽,但可能不会减少延迟。反应有多大?有人注意到您是否将1k响应减少到600字节了吗?@AaronKurtzhals我没有在生产环境中真正比较它们,您对延迟的看法是正确的,没有区别。@AaronKurtzhals我有很多消息(每个客户端每秒大约30条消息),但它们的大小不大,最大值是1kb。当然有,维护原始二进制文件比json要困难得多。