欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

如果html传输全部使用json, browser 将会快很多?

程序员文章站 2022-06-01 14:56:54
...
如果传输全部使用json, browser 将会快很多, 因为没有closing tag (xml or html), 大家怎么看这个问题?

回复内容:

浏览器会快很多?快在哪个步骤呢?是传输快还是解析快?

如果是说传输快,从信息的冗余来讲,closing tag 确实有那么一点浪费空间,换成json或者别的什么格式确实有道理。

但我们可以压缩http body,gzip压一压就能把这个语法overhead控制得很好。所以就算你换掉HTML,在传输层面也快不了太多。

另外HTML相对于json有一个优势就是容错率高,丢掉一两个tag影响不大。但如果用json,少掉一个双引号很有可能整个response都得扔掉了。HTML 在可读性方面也比json强很多。

你看,就单单为了影响并不大的closing tag而把HTML换成json,换来的仅仅是微乎其微的传输效率提升,捡了芝麻丢了西瓜。 @鲁小夫 回答已经很好。速度以外的问题,题主也可参考 为什么 Web 前端开发不抛弃 HTML 和 CSS,用纯 JavaScript 开发? - 前端开发 真的想要传输效率就不要基于字符串,HTML和JSON都是基于字符串的。 你用app不就好了, 界面都不用下, 传输基本都是json 答案是几乎没有差别,用json的话在性能低的设备上可能会更慢一点。

itunes PC 版本中的动态内容就是用二进制xml传输的,你有感觉快吗?

为什么没差呢?因为 close tag 是给开发者看的,实际传输中,专业一点的web服务器都是对页面 gzip 压缩的。

要快的话,应该想办法减少HTTP请求,所以 SPDY协议就是从这个思路出发设计的。 直接传输压缩后的二进制流才是最快的…… 直接连图片、样式表、字体和HTML一起打个包再压一压最快喵…… 试试使用angularjs开发一下就知道了,只要加载一个超大的首页,其他的全部json传输 有个说法,编程语言是面向人类的 其他答案说的很好了,题主不能忽略的问题还包括失去了直接使用html文本,以及开发模型复杂的弊端。这些是在公司做事不能忽略的重要问题。