码迷,mamicode.com
首页 > Web开发 > 详细

主程序员的练成:HTTP协议和二进制协议的对比

时间:2014-11-21 12:44:24      阅读:227      评论:0      收藏:0      [点我收藏+]

标签:主程   程序员   http   协议设计   二进制协议   

在上一篇《主程序员的练成:TCP、消息分包和协议设计》中谈了协议设计的一些话题,这里补充聊聊HTTP协议和二进制协议的对比。

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

文本协议 vs 二进制协议

文本协议的特点:
    便于人
    易于阅读、理解、调试、构造
    解析复杂、冗余多
    需要考虑字符转义

二进制协议的特点:
    便于机器

Name-Based vs Position-Based

Name-Based协议的特点:
    协议字段都用Name标识
    协议字段与位置无关
    协议字段可缺省
    新增协议字段比较方便
    解析复杂
    需要考虑字符转义

Position-Based协议的特点:
    每个协议字段都有特定的位置
    新增协议字段需要做好协议版本管理(protobuf这类就挺好)
    解析更高效



-------- 分割线 ---------
1.主程序员的练成:引言
2.主程序员的练成:技术篇概要
3.主程序员的练成:IP、DNS和CDN
4.主程序员的练成:TCP、消息分包和协议设计
6.主程序员的练成:CGI和FastCGI


推荐wecode程序员云笔记──为程序员而生的开源简洁高效的云笔记软件,使用有道云做云端存储。
★ 【语法高亮】目前支持 C/C++、C#、Pascal、Java、VB.Net、XML、HTML、Python、SQL等多种方。
★ 【云端存储】除了本地笔记本外,还增加了云存储功能,目前使用有道云笔记做为云存储。
★ 【文档加密】提供了文档加密功能,确保敏感文档的安全性。
★ 【多个本地笔记本】支持多个本地笔记本,你能够新建本地笔记本、打开、压缩和备份本地笔记本。
★ 【文章附件】能够为每个文章添加多个附件,并能够在临时目录中打开附件、导出附件。有道云的附件也存储在云端。

主程序员的练成:HTTP协议和二进制协议的对比

标签:主程   程序员   http   协议设计   二进制协议   

原文地址:http://blog.csdn.net/thinkry/article/details/41345881

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!