网络传输对JSON有检查吗?

发布于 2022-09-04 10:25:28 字数 728 浏览 10 评论 0

问题描述

服务器端,有一段base64数据往前端传送.由于数据比较大,所以保存成文件,把链接传送到前端,然后Get这个文件,获得结果.

当前的JSON协议如下:

{
"state":"ok",
"msg":"",
"url":"https://xxxxxxxxx.txt"
}

.txt文件,存储的就是base64的内容.

前端获得json后,检查状态, 然后就直接 $.get JS Base64解码使用了.

问题来了

可是, 领导说, 把.txt文本的内容,也要写成JSON的格式,这样,网络传输会对JSON进行验证,如下:

txt文本的内容, 是包含base64的json字符串.

{
"state":"ok",
"msg":"",
"base64":"XXXXXXXXXXX...."
}

我的疑问

我的理解,网络传输确实对数据进行验证,但是那是整体的验证, 就像文件的md5一样. 而JSON是一种数据交换的格式协议. 如果传输过程中, json的格式破坏了, 前端是会知道的. 但是内容破坏了. 这个应该是检测不了的.

我觉得,对base64内容, 进行JSON包装, 保存成文件, 是多此一举.

对这个问题,你们怎么理解?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

沧笙踏歌 2022-09-11 10:25:28

是的,多此一举,而且存成文件会多一次文件io开销,你领导还不如你呢

靖瑶 2022-09-11 10:25:28

我只能说领导都是对的。。。。对于这种人,只能忽悠他,涨工资才是最重要的。

阳光下的泡沫是彩色的 2022-09-11 10:25:28

网络传输只会校验消息的完整性,并不校验消息的格式
如需校验消息格式准确性是需要在客户端自己使用json解析才能确定的。
你的领导对网络传输讲的并不正确。但是直接使用将base64在接口中返回这肯定是可取的。

因为你的设计的返回一个url由客户端再次发起请求获取base64的信息,这样客户端就会有2次请求,增加了逻辑的复杂度。
要知道json本身就是文本格式与txt在传输过程中并没有本质的区别,所以你的第一个设计稍微有点画蛇添虫了

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文