不同的变量如何通过互联网传递

how does different variables pass through internet

嗯,关于通过互联网传递的变量的转换,我在这里有点困惑。

据我所知,从网络浏览器提交的所有值在通过不同的 OSI 层时都以位 (0 1) 转换。而且这些位是通过互联网传输的。这里我的问题是位是否在服务器端再次转换为各自的变量类型?另外,反之亦然也应该发生,对吧?我的意思是,当值从服务器发送并在客户端接收时?

同样,我知道 XML 和 JSON 比传递字符串值更快。在这里,我再次感到困惑。如果所有值都转换为它们的 bit/byte,那么如果我发送相同的值,XML/JSON 为什么比简单字符串更快?我的意思是比较发送一个简单的字符串和将字符串转换成它的 XML/JSON.

谁能解开我的疑惑a? :-)

Again, i know that XML and JSON are faster than passing a string value.

你知道然后你的困惑是。任何告诉您包含更多字符的字符串在 Internet 上传输速度更快的人都是错误的。

如果一个字符串的长度为 10,并且您将其转换为 xml 并使其长度为 30,如果每个字符占用 1 个字节,那么您只需将 10 个字节转换为 30 个字节并将其乘以 8 就可以了将 80 位转换为 240 位。如何更快地转移这些?自己计算:)

但这不仅仅是您需要的速度。考虑必须从 Amazon 获取订单详细信息,您不想格式化这些内容以便轻松将其转换为变量吗?或者你想解析一个没有任何格式的字符串转储?。这就是这些格式在其他好处中派上用场的地方。

您已经掌握了基本概念。互联网上的通信通过一堆协议层进行,这些协议层通常根据 OSI 参考模型命名。在顶层(应用程序层)你有发票和酒店预订之类的东西,在底层你有电线上的电压。发票和酒店预订以某种语法表示,例如 XML 或 JSON(命名错误的表示层),这些映射到字符序列,映射到八位字节序列,映射到一系列的 1 和 0,映射到电压。因此,在发送端,您沿着堆栈向下将发票转换为电压变化,而在接收端,您备份堆栈以将电压变化转换为发票。当然,在此过程中也会涉及路由器等中介,通常会针对以太网和 Wifi 等不同的传输协议对消息进行部分解码和重新编码。

速度取决于两件事:您通过网络发送多少位,以及您将发票转换为位然后再返回的时间。这里有很多权衡,例如,如果你压缩数据,那么你将花费更少的时间传输位,但更多的时间进行转换。

在顶层,选择如何表示发票(XML,JSON或其他某些语法)时,速度通常不是最重要的因素。此级别的消息设计者通常更关心表示的灵活性和可扩展性、生成和解析消息的难易程度、根据模式规则验证消息的能力等等。