刚才提到了, 只提交必须的内容到服务器, 这样就可以有效的缩减传送的数据。
如果这样做了, 就妥当了么。 再来看看如果需要传送到服务器的数据
如果formTableXml取消了以后, 那么formData就成了最大的数据。这个不能再省略了。 呵呵~~, 整个页面的数据就在这里面了。
让我们打开这个数据集合看看这里面究竟包含了什么。
首先这是一个urlencoding过的字符串。 解码之后, 这是一个xml文件。哦也, 一个xml。
表单提交的数据格式
数据的格式是value是字符串, 可以是xml字符串, 也可以是json字符串。应该一般就这2种用的比较多的数据格式了。
xml和json的数据比较, 网上太多这种对比, 个人觉的xml对于数据阅读来说还是很方便的。 抛开其他不说。
但是json在web端的优势明显, 天生和js结合紧密。 json对象直接在js里面使用。 无需解析。
但是这些目前不是当前课题需要讨论的内容。因为首要的任务是需要解决传送的问题。
xml也好, json也好。 传送的时候体积小的就好。小李飞刀厉害, 就是胜在快。 呵呵~~~, 至于具体格式的使用是另外一回事。
然我们逐个看看这些数据
xml格式
<root>
<e>
<x>100</x>
<y>100</y>
<width></width>
<height></height>
<e>
<e>
<x>100</x>
<y>100</y>
<width>200</width>
<height>150</height>
<e>
</root>
json格式
[
{ // This is a point
"x": 100,
"y": 100
}, { // This is a rectangle
"x": 100,
"y": 100,
"width": 200,
"height": 150
},
{}, // an empty object
]
用json作为传送的格式, 优势显而易见, 至少标签的量减少一半哦。 这样节省的空间可想而知, 如果随着数据结构复杂度的增加, 整个体积肯定是膨胀的很快。
但是用json就可以了么? 我们仔细看一下这个地方的json的数据格式。 也是每个元素都有标签的名字。就是所谓的名称值对的出现。 这样数据的体积是有很多冗余的
有没有现成的压缩呢? 呵呵, 上网一艘发现。有个东西 HPack 壓縮的 JSON, 压缩以后就是这种格式了。
[["name","age","gender","skilled"],["Andrea",31,"Male",true],["Eva",27,"Female",true],["Daniele",26,"Male",false]]
原理其实一看就明白了。就是把同一个字段的名字放在同一个列表里面。 其实自己也可以用类似的方式, 就是csv格式也是这样
基于以上的想法, 让我们具体验证一下。

编码后的数据 | 10619字节 |
编码前xml | 7575字节 |
转成json数据 | 5088字节 |
自定义的压缩 | ???字节(具体格式待定) |
恩, 通过这种比较, 具体的实现方法已经很明确了。 提交的数据通过怎样的数据格式才可以有效的传送到服务器。