侧边栏壁纸
  • 累计撰写 47 篇文章
  • 累计收到 0 条评论

网络编程-协议和网络应用程序设计模式

2019-2-22 / 0 评论 / 139 阅读
温馨提示:
本文最后更新于 2019-2-22,已超过半年没有更新,若内容或图片失效,请留言反馈。

聊聊什么是协议?

从应用程序角度出发,协议可以理解为 “规则”,是数据传输数据解释的规则。

举个例子, A、B 双方欲传输文件。规定:

第一次,传输文件名,接收方接收到文件名,应答OK给传输方;

第二次,发送文件的尺寸,接收方接收到该数据再次应答一个OK;

第三次,传输文件内容。同样,接收方接收数据完成后应答OK表示文件内容接收成功。



由此,无论A、B之间传递何种文件,都是通过三次数据传输来完成。A、B之间形成了一个最简单的数据传输规则。双方都按此规则发送、接收数据。A、B之间达成的这个相互遵守的规则即为协议。

这种仅在A、B之间被遵守的协议称之为原始协议。当此协议被更多的人采用,不断的增加、改进、维护、完善。最终形成一个稳定的、完整的文件传输协议,被广泛应用于各种文件传输过程中。该协议就成为一个标准协议。最早的FTP协议就是由此衍生而来。

TCP协议注重数据传输HTTP协议着重于数据解释

典型协议

TCP传输控制协议 (Transmission Control Protocol) 是一种 面向连接 的、可靠的 、基于 字节流传输层通信协议


UDP用户数据报协议 (User Datagram Protocol)OSI参考模型中一种 无连接 传输层协议,提供 面向事务简单不可靠信息 传送服务。


HTTP超文本传输协议 (Hyper Text Transfer Protocol) 是互联网上应用最为广泛的一种网络协议


FTP文件传输协议 (File Transfer Protocol)


IP协议因特网互联协议(Internet Protocol)


ICMP协议Internet控制报文协议(Internet Control Message Protocol) 它是 TCP/IP协议 族的一个 子协议 ,用于在 IP主机路由器之间传递控制消息。


IGMP协议Internet 组管理协议(Internet Group Management Protocol),是因特网协议家族中的一个组播协议。该协议运行在 主机组播路由器 之间。


ARP协议正向地址解析协议(Address Resolution Protocol),通过已知的IP,寻找对应主机的MAC地址


RARP反向地址转换协议,通过 MAC地址 确定 IP地址

网络应用程序设计模式

C/S 模式

客户机 client / 服务器 server (需要在通讯两端各自部署客户机和服务器来完成数据通信。)

优点 :

  • 协议选用灵活 (自定义协议, 协议由服务端和客户端商定即可)
  • 缓存数据 (数据可缓存到本地, 如App应用 可缓存到手机)

缺点 :

  • 对用户安全构成威胁 (需要将客户端安插到用户主机上)
  • 开发工作量大, 调试困难 (需要客户端和服务端的开发人员, 且调试时候也是如此)

B/S 模式

浏览器 browser / 服务器 server (只需在一端部署服务器,而另外一端使用每台PC都默认配置的浏览器即可完成数据的传输)

优点 :

  • 开发工作量小, 调试方便 (只需开发服务器端即可, 且调试时候只需要PC端浏览器即可)
  • 跨平台 (采用浏览器显示数据, 所以不受平台限制)

缺点 :

  • 使用第三方浏览器, 网络应用受限制
  • 缓存数据不尽人意 (由于客户端没有放到对方主机上, 从而传输数据量受到限制)
  • 采用标准HTTP协议进行通信 (必须与浏览器一样, 协议选择不灵活)

评论一下?

OωO
取消