我对协议的理解
程序员文章站
2022-07-10 14:34:27
...
今天工作进展不佳~~回来路上还在胡思乱想,突然想到一个对“协议”的解释
“协议”就是protocol,平时很常见的包括http协议,soap协议,tcp/ip协议,那么协议是什么意思呢
按我的个人理解,“协议”可以理解为编码,或者语言
比如英语就是一种协议,“hello”这种编码,就表达了问好的意思;两个人都懂英语这种协议,那么一方就可以用“hello”表达问好的意图,另一方也可以知道他的意思
如果一方懂英语,另一方不懂英语,那么他们就无法用英语这种“协议”来沟通了,因为有一方无法用英语来“编码”和“解码”
所以,xml、json、yaml这种,不能算协议,只能是一种数据的格式
因为仅仅通过某种格式,双方是无法交流的
看到这段信息,谁也不知道这是什么意思
而html,我认为严格来说,也可以算一种协议,服务端和浏览器,都知道html。服务端可以将要输出的信息,写成html段,浏览器看到之后,就知道要怎么渲染成页面
其实引申一下
对于这段数据,如果2个应用事先协商好,都能理解<abc>和<def>标签代表什么含义,那么类似这样的数据,就也可以认为是一种私有的协议了。如果被采纳作为通用的标准,那么就是一般的公开的协议了。但是,无论如何,XML本身,不是协议
很早以前,我和一个同事合作写一个功能,我们“约定”好,他应该用##23#,来作为我传给他的字符串的分隔符,这个也可以认为,是一个最最私有的“协议”
“协议”就是protocol,平时很常见的包括http协议,soap协议,tcp/ip协议,那么协议是什么意思呢
按我的个人理解,“协议”可以理解为编码,或者语言
比如英语就是一种协议,“hello”这种编码,就表达了问好的意思;两个人都懂英语这种协议,那么一方就可以用“hello”表达问好的意图,另一方也可以知道他的意思
如果一方懂英语,另一方不懂英语,那么他们就无法用英语这种“协议”来沟通了,因为有一方无法用英语来“编码”和“解码”
所以,xml、json、yaml这种,不能算协议,只能是一种数据的格式
因为仅仅通过某种格式,双方是无法交流的
<abc>xxx</abc>
<def>yyy</def>
看到这段信息,谁也不知道这是什么意思
而html,我认为严格来说,也可以算一种协议,服务端和浏览器,都知道html。服务端可以将要输出的信息,写成html段,浏览器看到之后,就知道要怎么渲染成页面
其实引申一下
<abc>xxx</abc>
<def>yyy</def>
对于这段数据,如果2个应用事先协商好,都能理解<abc>和<def>标签代表什么含义,那么类似这样的数据,就也可以认为是一种私有的协议了。如果被采纳作为通用的标准,那么就是一般的公开的协议了。但是,无论如何,XML本身,不是协议
很早以前,我和一个同事合作写一个功能,我们“约定”好,他应该用##23#,来作为我传给他的字符串的分隔符,这个也可以认为,是一个最最私有的“协议”
上一篇: 跨域
下一篇: C语言比特拷贝 bitcopy