网络编程模型(C/S模型和B/S模型)
网络应用编程模型
互联网与企业内部网
网络的两个含义:
互联网 :互联网(Internet)是一种覆盖全世界的全球性互联的网络。
企业内部网:企业内部网(Intranet)将企业内部的网络和企业外部的网络通过防火墙有效隔离,每个Intranet都变成了一个相对独立的网络环境。
C/S模式和B/S模式
早期计算机网络的通信模型
分散式(Decentralized)
分散式系统
用户只负责管理自己的计算机系统,各自独立的系统之间没有资源或信息的交换或共享。
优点
可靠性高
缺点
- 存在大量共享数据的重复存储
- 容易导致一个企业的各个部门数据的不一致性
- 造成成本,硬件,支持,运营成本的大量增加
已经被淘汰
集中式(Centralized)
集中式系统
一台计算机(主机),保存一个企业组织的全部数据,用户则通过终端来访问这台主机。
终端不具有处理信息的能力。
优点
- 硬件成本低,所有的运作和管理都由一台主机来完成;
- 资源集中、数据共享,减小或消除了数据的冗余和不一致性。
缺点
- 可靠性问题,主机一旦出现故障,系统就全部出现故障。
- 多个用户访问,系统响应慢,不能充分满足不同部门或用户的需要;不能满足某些特殊部门或用户的需要。
分布式(Distributed)
分布式系统
分散式系统和集中式系统的混合体
将分散在网络环境中的各种资源以一个整体的形式呈现给用户,以全局的方式管理资源;
根据用户需要动态分配任务,为用户任意调度网络资源;用户的体验和使用单机几乎工作一样。
调度对用户来说是透明的。
分布式系统与计算机网络的区别
软件区别,硬件并没有区别。
分布式环境中,资源以透明的方式供用户使用。
C/S模式
C/S(Client/Server)也叫C/S模式,C/S架构或C/S模型。
特点
- 胖客户端编程架构
- 主要工作在客户端进行
C/S将网络事务处理分为两个部分- 客户端:客户端(Client,也叫客户机)用于为用户提供操作,同时向网络提供请求服务的接口;
- 服务端: 服务端(Server)负责接收并处理客户端发出的服务请求,并将服务处理结果返回给客户端。
C/S即适用于实际的应用程序,又适用于真正的计算机部署。 - 从程序实现的角度来说,客户端和服务端实际是计算机上的两个进程的交互。服务端进程逐一等待并处理客户端请求。
- 运行服务端进程的计算机系统一般通过所提供的服务来命名。
例如,提供邮件服务的主机称为邮件服务器,提供远程文件访问的计算机称为文件服务器等。
C/S应用程序编程模型
B/S模式
B/S (Browse/Server),也叫B/S模式,B/S模型。
Browse是指Web浏览器,仅使用HTTP进行通信。
极少数事务在前端实现,但主要事务逻辑在服务器端实现。
优点
- B/S架构客户端无需安装,有Web浏览器即可。
- B/S架构可以直接放在广域网上,交互性较强。
- B/S架构无需升级多个客户端,升级服务器即可。
缺点
- 在跨浏览器上,BS架构不尽如人意。
- 表现要达到C/S程序的程度需要花费不少精力。
- 在速度和安全性上需要花费巨大的设计成本。
B/S编程模型
采用三层架构设计
- 用户界面
- 逻辑设计
- 数据支持
B/S 和 C/S 的区别
- 构建方式
一个是浏览器/服务器端架构,另一个是客户端/服务器架构
B为浏览器,浏览器即客户端,C/S需单独设计客户端 - 更新维护方式
B/S结构维护升级比较简单,而C/S结构维护升级相对困难; - 安全控制能力
C/S结构比B/S结构更安全,因为用户群相对固定,对信息的保护更强; - 用户受众
C/S用户群相对固定,而B/S相对来说很广,B/S是建立在广域网上的,适应范围强。
网络编程模型(C/S模型和B/S模型)的更多相关文章
- Java网络编程:OSI七层模型和TCP/IP模型介绍
OSI(Open System Interconnection),开放式系统互联参考模型 .是一个逻辑上的定义,一个规范,它把网络协议从逻辑上分为了7层.每一层都有相关.相对应的物理设备,比如常规的路 ...
- Java网络编程和NIO详解3:IO模型与Java网络编程模型
Java网络编程和NIO详解3:IO模型与Java网络编程模型 基本概念说明 用户空间与内核空间 现在操作系统都是采用虚拟存储器,那么对32位操作系统而言,它的寻址空间(虚拟存储空间)为4G(2的32 ...
- 基于JVM原理、JMM模型和CPU缓存模型深入理解Java并发编程
许多以Java多线程开发为主题的技术书籍,都会把对Java虚拟机和Java内存模型的讲解,作为讲授Java并发编程开发的主要内容,有的还深入到计算机系统的内存.CPU.缓存等予以说明.实际上,在实际的 ...
- OSI参考模型和TCP/IP模型基本知识
OSI七层模型 为了解决网络之间的兼容性问题,实现网络设备间的相互通信,ISO于1984年提出的OSI参考模型(开放系统互连参考模型).但是由于种种原因,并没有一种完全忠实于OSI参考模型的协议族流行 ...
- 【计算机网络】两个网络模型——OSI参考模型和TCP/IP模型
计算机网络 两个网络模型 计算机网络模型 分层机制----规划通讯细节 层与层之间之间是独立的.屏蔽的,下层为上层提供服务. 一些概念 实体: 任何发送/接收信息的软件/硬件进程. 对等层: 两个不同 ...
- 标准事件模型和IE事件模型有哪些区别?请具体解释他们的差异。
通常,事件传送有三个阶段:事件捕获阶段,停留目标阶段,事件冒泡阶段. 1.阶段差异 DOM事件模型包含捕获阶段和冒泡阶段,DOM事件模型可使用e.stopPropagation()来阻止事件流:IE事 ...
- IE盒模型和W3C盒子模型的区别
其实这个问题到现在真的是没有意义了,因为早在IE6的兼容模式开始就已经弃用了IE盒子模型了,但是现在的各种面试题还是会时常出现这样的上世纪的题目,我觉得其实时纯粹的刁难. 好了,吐槽不多说了,直接上图 ...
- Css盒模型有哪几部分,标准盒模型和IE盒模型有哪些区别
首先介绍Css的盒模型也就是标准盒模型(BOX Model) 包含了 内容(content) 内边距(padding) 边框(border) 外边框(margin) 这是大家经常用到的,也是现在的标准 ...
- 查漏补缺:OSI七层模型和TCP/IP模型
应用层协议:Telnet.FTP.e-mail等 传输层协议:TCP.UDP.STCP等 网络层协议:IP.ICMP.IGMP等 链路层协议:设备驱动及接口卡
随机推荐
- 构建Oracle的Docker镜像
说明:本次构建环境,Centos7.7,Oracle12.2.0.1,Docker19 注意:已安装好docker的,请检查docker版本,1.13以下版本要升级: # df -h 命令检查根目录的 ...
- vmware ubuntu 解决 宿主机与虚拟机互相ping不通,虚拟机无线上网的解决办法
首先 virtual network editor 设为桥接 选定无线网卡 虚拟机的网络设置 选桥接. 其次, 如果不能互相ping通,注意主机是否关闭了防火墙,是否退掉了360(没验证), 还要注意 ...
- drf中的请求模块和渲染模块
请求模块:request对象 APIView request.py # 在rest_framework.request.Request实例化方法中 self._request = request 将原 ...
- 吴裕雄--天生自然C语言开发:判断
if(boolean_expression) { /* 如果布尔表达式为真将执行的语句 */ } #include <stdio.h> int main () { /* 局部变量定义 */ ...
- LeetCode No.115,116,117
No.115 NumDistinct 不同的子序列 题目 给定一个字符串 S 和一个字符串 T,计算在 S 的子序列中 T 出现的个数. 一个字符串的一个子序列是指,通过删除一些(也可以不删除)字符且 ...
- ASA5505升级license
1.准备工作 首先先看下目前的license # show activation-key Serial Number: JMX1J364741 Running Permanent Activation ...
- 绿洲作业第一周 - Y3每日中文学习任务清单
尽量每天完成一首古诗. 如果孩子另有学习安排,可在周日(2.16)23:59前,完成任务.有兴趣.学有余力的孩子可以自我拓展其中的“寒假读诗”.
- day26-socket(server和client通信)
# socket是应用层与TCP/IP协议通信的中间软件抽象层,它是一组接口.它把复杂的TCP/IP协议隐藏到socket #接口的后面,让socket去组织数据,以符合指定的协议. # socket ...
- python或pip'不是内部或外部命令”
Python不是内部外部命令:说明在环境变量中没有添加python的安装文件夹路径 所以我们在path环境变量中添加 E:\python36; Pip不是内部外部命令:说明在环境变量中没有添加pyth ...
- [LC] 149. Max Points on a Line
Given n points on a 2D plane, find the maximum number of points that lie on the same straight line. ...