网络应用开发的设计决策与实现
1. 协议创建与数据格式选择
创建自定义协议可确保其完全满足需求,但开发和测试耗时较长,且只能自己使用,无法参考他人实现。在数据格式方面,有二进制和纯文本两种选择,各有优劣:
| 数据格式 | 优点 | 缺点 |
| ---- | ---- | ---- |
| 纯文本 | 易于调试,人类可读;多数互联网标准协议采用,能处理跨平台问题 | - |
| 二进制 | 传输效率高 | 平台处理方式不一致,如存在大端/小端问题;传输二进制对象需编码,增加数据量 |
例如,使用 SMTP 发送图片时,因 SMTP 要求邮件内容为纯文本,需将图片等二进制对象进行 Base64 等编码,导致数据量增加约三分之一到二分之一。
2. 客户端 - 服务器架构设计
客户端 - 服务器应用的整体架构设计很重要,主要有两层和三层架构:
- 两层架构 :传统的客户端 - 服务器应用构建方式,由客户端和单个服务器组成。大部分应用逻辑在客户端,服务器主要提供服务和数据。
- 优点 :实现简单。
- 缺点 :可扩展性差,客户端独立访问数据,协调缓慢;应用逻辑变更需分发新客户端,给终端用户带来问题;客户端直接操作应用数据,未来开发不同客户端时可能出现扩展性问题。
- 三层架构 :如今多数大规模网络应用采用,除客户端和单个服务器外,还有中间服务器。应用逻辑位于中间层,应用数据在数据层。
- 优点
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



