引用来自“MUTEX”的答案
TCP:Transmission Control Protocol 传输控制协议TCP是一种面向连接(连接导向)的、
可靠的、基于字节流的运输层(Transport layer)通信协议,由IETF的RFC 793说明(specified)。
这个可靠是建立在校验上的吧?!我刚刚试了一下wget一个文件,http是先返回200的状态然后再开始文件的传输。当然文件的大小已经包含在返回的头,估计通过这个检验下载是否完成。
我自己也越问越含糊了,对http不熟悉。总结一下:当http返回200,是否能保证我的json数据是完整的?!
######回复
@MUTEX : 结了吧,我大概知道问题不在http协议上了,这个要估计要看具体函数的实现。谢谢你们的回答!######回复
@MUTEX : 但数据的完整性应该是客户端检测的吧?!######所谓可靠,是指出错了会告诉你出错状态的。######
没人回答,自己顶一下!
######会有这样情况?第一次听说,如果你在网上银行转账,本来转1000,结果在传输json 时,网络中断了了少传个0是不是异曲同工之妙? 服务器要么返回200表示成功!网络中断 不就是 time out 吗? 程序还会先给一点数据你用吧?######你学文科的啊?程序很死的,要么成功,要么失败
######
引用来自“hlevel”的答案
会有这样情况?第一次听说,如果你在网上银行转账,本来转1000,结果在传输json 时,网络中断了了少传个0是不是异曲同工之妙? 服务器要么返回200表示成功!网络中断 不就是 time out 吗? 程序还会先给一点数据你用吧?
嗯,说得有道理。返回200的时候数据已经准备好了,超时应该就会跳过。看来是我想多了
######
引用来自“hlevel”的答案
你学文科的啊?程序很死的,要么成功,要么失败
那么我还想问,如果我下载一个大文件,开始下载的时候服务器的返回状态,下载结束以后的状态和中断以后的状态这个要怎么判断?!
######TCP:Transmission Control Protocol 传输控制协议TCP是一种面向连接(连接导向)的、
可靠的、基于字节流的运输层(Transport layer)通信协议,由IETF的RFC 793说明(specified)。######这个应该不是JSON的问题,是TCP传输的问题!######HTTP的话,HEAD 里面的Content-Length可以作为数据完整性的校验,不过HTTP貌似没规定Content-Length必须准确。如果确实需要使用HTTP来实现,可以考虑在Head或者Content里面自行约定一些校验用的字段。严格的情况下,Content-Length与实际得到的Content长度不一致,我们就认为这个Http事务请求是失败的。