如果html传输全部使用json,browser将会快很多?
时间:2021-07-01 10:21:17
帮助过:24人阅读
如果传输全部使用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文本,以及开发模型复杂的弊端。这些是在公司做事不能忽略的重要问题。