目录
应用层
- 什么是应用层呢 ???
应用层是在最上层,我们平常用的应用软件都是在应用层,应用层是只关心为用户提供功能,是在操作系统用户态上的.而其余下层是在 "内核 态""上的.
自定义应用层协议
如何自定义应用层协议呢???
- 确定好要组织的信息.
- 确定好对信息的组织形式用来区分数据信息.
确定好要组织的信息
确定好组织信息也就是当你点开界面,你要将哪些信息进行组织
比如打开一个应用程序时就会有请求和响应
请求 : 点开应用程序时就需要获取到一些信息(地理位置,音频.....)
响应 : 屏幕就会显示一些界面(应用程序所需要展示的信息)
换一个具体的例子
比如你要打开淘宝
请求 : 获取你的地理位置信息,获取你的用户名,手机号,支付宝账号......
响应 : 然后就会显示淘宝的界面,比如店铺信息,衣服,鞋,服装,日常用品....等信息.
显示在我们的屏幕上的信息就是我们所需要组织的(比如店铺,衣服,图片.....)
确定好对信息的组织形式用来区分数据信息
确定好信息了,接下来我们就应该考虑怎么将信息进行组织在一起.
还是以"淘宝"进行举例:
这些 店铺信息 衣服....信息就是我们需要组织的
使用分隔符将信息区分
就比如这里我们就使用分号将每个信息进行区分.
使用固定长度组织信息
使用固定长度将每个信息进行区分,比如读满2个字节证明店铺名称的信息已经读取完毕.
如果信息超过所规定的长度,那么将会将溢出的部分移除.
使用分隔符+固定长度组织信息
还可以将两个结合一起使用.
使用XML的格式组织信息
使用json格式进行组织信息
json格式每个信息都是由{}里面的键值对组织的,键和值之间使用冒号隔开,每个键值对之间使用逗号隔开.{}里面可以是键值对,也可以是另一个json,也可以是一个json数组
使用二进制格式 protobuffer ,thrift
这里的xml和json都属于文本格式,而Protobuffer和thrift是二进制的格式
- 文本格式 : 易读但效率低,占用带宽高.
- 二进制格式:不易读,但效率高,占用带宽少.