`
thinkry
  • 浏览: 39262 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

主程的晋升攻略(5):HTTP协议和二进制协议的对比

阅读更多

在上一篇《主程的晋升攻略(4):TCP、消息分包和协议设计》中谈了协议设计的一些话题,这里补充聊聊HTTP协议和二进制协议的对比。

 

HTTP协议是一种文本协议,也是一种Name-Based协议,就从这两方面来说。

 

文本协议 vs 二进制协议

文本协议的特点:

    便于人

    易于阅读、理解、调试、构造

    解析复杂、冗余多

    需要考虑字符转义

 

二进制协议的特点:

    便于机器

 

Name-Based vs Position-Based

Name-Based协议 的特点:

    协议字段都用Name标识

    协议字段与位置无关

    协议字段可缺省

    新增协议字段比较方便

    解析复杂

    需要考虑字符转义

 

Position-Based协议的特点:

    每个协议字段都有特定的位置

    新增协议字段需要做好协议版本管理(protobuf这类就挺好)

    解析更高效

 

分享到:
评论

相关推荐

    进制转换.docx 十进制转二进制:十进制转八进制:十进制转十六进制

    不同的进制系统用于表示数字,例如十进制(Decimal)、二进制(Binary)、八进制(Octal)和十六进制(Hexadecimal)。理解这些进制转换对于理解和编写程序至关重要,因为计算机内部是以二进制形式存储和处理数据的...

    进制转换 二进制与十进制 八进制 十六进制转换

    该程序允许用户在二进制、八进制、十进制和十六进制之间进行相互转换。接下来,我们将深入探讨不同进制之间的转换方法,并解释程序中的关键部分。 ### 进制基础 首先,我们需要了解什么是进制。进制是一种表示数值...

    信息理论与编码:实验一 绘制二进制熵函数曲线.ppt

    信息理论与编码:实验一 绘制二进制熵函数曲线.ppt

    汇编代码资源:16进制转二进制

    设置数据段和代码段:在汇编语言中,你需要设置数据段来存储变量(如输入的十六进制数和转换后的二进制数),以及代码段来存放程序的执行指令。 2. 键盘输入 使用系统调用:在DOS或其他操作系统中,你可以使用中断...

    C# 进制转换的实现(二进制、十六进制、十进制互转)

    由于二进制数在C#中无法直接表示,所以所有二进制数都用一个字符串来表示 例如: 二进制: 1010 表示为 字符串:”1010″  int d = 10; //十进制转二进制字符串 Console.WriteLine(Convert.ToString(d,2)); //...

    进制转换:十进制-二进制.txt

    简单的代码,用于VS2010中将十进制的数转化成二进制的数并输出

    计算机基本理论:十进制与二进制的转换.pdf

    在计算机科学中,二进制和十进制的转换是基础理论的重要组成部分,因为计算机内部是以二进制的形式存储和处理信息的。十进制是我们日常生活最常用的计数系统,而二进制则是计算机的世界语言。 一、二进制转换为十...

    二进制树协议算法 程序

    二进制树协议(Binary Tree Protocol)是一种在网络通信和分布式系统中常见的算法,主要用于解决资源分配、任务调度或数据传输等问题。在这个MATLAB实现中,我们聚焦于如何使用这种算法来优化射频(RF,Radio ...

    HTTP二进制

    HTTP(超文本传输协议)是互联网上应用最广泛的一种网络协议,它主要用于传输文本、图像、音频和视频等多种类型的数据,其中就包括二进制数据。本文将深入探讨HTTP二进制传输的原理、应用场景以及相关的编程工具。 ...

    2进转10进(超长二进制处理)

    真正恐怖的二进制数来了,要将二进制数转换成10进制数。因为二进制数太长,连转换成的10进制数写写都要好长好长呢!要求还特别苛,没有把握你能帮得上忙,反正我也晕了很长时间。 Input: 有1000个二进制数,最长的...

    MySQL二进制文件开启及查看

    MySQL二进制文件开启及查看详解,就解释了如何分析日志文件 .

    进制数转换二进制八进制十进制十六进制之间转换方法PPT学习教案.pptx

    (5)二进制与十六进制之间的转换: * 二进制转换为十六进制:将二进制数分组,每4位一组,前面补零。 * 十六进制转换为二进制:将十六进制数分组,每4位一组,前面补零。 (6)八进制与十六进制之间的转换: * ...

    二进制转八进制.txt

    本文件为C++二进制转化八进制源代码,仅供各位了解学习进制之间的转换关系,让各位有个思路,我们都知道二进制转换成八进制是3个数合为一个来计算的,那么如果用户输入的只有两位数呢?这种情况该怎么算?最后一步...

    Stack练习:: 十进制正整数转化成二进制

    例如,十进制数10转换为二进制的过程是:10 ÷ 2 = 5...0,5 ÷ 2 = 2...1,2 ÷ 2 = 1...0,1 ÷ 2 = 0...1,所以10的二进制表示是1010。 2. **位运算法**: 利用编程语言中的位运算符,如按位与(&),按位或(|),...

    二进制、八进制、十进制和十六进制之间的转换

    本文将深入探讨二进制(Binary)、八进制(Octal)、十进制(Decimal)和十六进制(Hexadecimal)这四种常见进制之间的转换方法,帮助你更好地理解和应用这些知识。 一、二进制(Binary) 二进制是计算机语言的...

    《有趣的二进制》附书源码

    《有趣的二进制》这本书深入浅出地介绍了二进制这一计算机科学的基础概念。二进制,即由0和1组成的数字系统,是现代电子计算机技术的基石。它在计算机科学中的应用无处不在,包括数据存储、计算过程、网络传输等。这...

    BES二进制文件编辑器

    - 使用比较功能,可以对比两个二进制文件的差异,这对于版本控制或找出文件损坏的部分非常有帮助。 7. **BES二进制文件编辑器的优势**: - 界面友好,操作简便,适合不同水平的用户。 - 功能全面,满足多种二...

    汇编语言进制(二进制,八进制,十进制,十六进制)转换

    汇编语言是计算机底层编程的一种语言,它直接对应机器指令,因此对二进制、八进制、十进制和十六进制的理解至关重要。下面我们将详细探讨这些进制及其相互转换。 二进制(Binary)是最基础的数字系统,只包含两个...

    二进制十进制十六进制转换

    在计算机科学中,二进制、十进制和十六进制是三种常见的数值表示方式,它们在编程、网络通信和数据存储等领域起着至关重要的作用。理解这些数字系统的转换是IT基础知识的重要组成部分。 二进制(Binary)系统是基于...

Global site tag (gtag.js) - Google Analytics