·C/S——客户/服务器模式

特点:非对等相互作用——即客户与服务器出于不平等的地位

表现在:服务器用有客户所不具备的硬件和软件资源以及运算能力,服务器提供服务,客户请求服务。

A.客户端与服务器的数量关系:

             ·多个客户进程同时访问一个服务器进程(N~>1)

             ·一个客户进程可以同时访问多个服务器提供的服务(1~>N)

B.客户端与服务器的位置关系:

             ·a.客户端和服务器放在同一个计算机上面——应用于网络应用程序开发测试。

             ·b.客户端和服务器在同一个局域网上(通过LAN相连接)——局域网文件共享、局域网打印机

             ·c.客户端通过先连接LAN再经过路由器的转接进入WAN以此和服务器相连(其实就是通过广域网)——最常见的网络应用程序

C.客户端与服务器的角色关系:

               ·应用程序作为纯粹的客户运行。——例如web浏览器

               ·应用程序作为纯粹的服务器运行。——如具备基本功能的ftp服务器

               ·应用程序同时具备客户和服务器两种角色。

Ps:  1.通过判断服务器或者客户本地端是否保存状态信息来确定服务器状态的有无

  ·无状态的服务器例子:禁用cookie功能的web服务器

  ·有状态的服务器例子:网络游戏服务器

  2.服务器的区别(循环服务器和并发服务器)

  ·循环:通过单线程内设置循环控制实现对多个客户请求的逐一响应

  ·并发:通过使请求处理(多线程)和I/O部分重叠达到高性能

·B/S——浏览器/服务器模式

  ·简述:用户通过www浏览器实现,一部分事务逻辑在前端(浏览器)实现,主要事务逻辑在服务端实现。通过三层架构(表现层、事务逻辑层、数据处理层)部署实现。

  ·PS:B/S模型是特殊的C/S模型,特殊之处在于,客户端软件特质浏览器。使用HTTP协议通信。用通用浏览器实现原来需要复杂专用软件才能实现的客户功能,节约了开发成本。

·三层架构:A.表示层、B.逻辑层、C.数据层

  ·A.表示层:客户端表示层——由web浏览器组成,不存放任何应用程序。

  ·B.逻辑层:应用服务器层(事务逻辑层)——由一台或者多台服务器组成,具有良好的可扩展性。

  ·C.数据层:数据中心层(数据处理层)——有数据库系统组成,用于存放业务数据。


联系

·浏览器/服务器(B/S)模型是一种特殊的、具体化的客户/服务器模型(C/S)模型,其特殊之处是

B/S模型的客户端软件特指路浏览器,服务器一般是web服务器,使用HTTP协议通信。其工作过程是C/S模型的具体化、实例化。

·二者本质思想均是给予计算机网络执行中,不同主机之间的软硬件资源、运算能力和信息不均等,为实现资源信息共享,必然形成不对等的通信地位和交互方式。

·两种结构对应的软件系统均为分布式网络应用程序系统。

优缺点

C/S模型:
优点:

结构简单。
支持分布式、并发环境。有效提高资源的利用率和共享程度。
服务器集中管理资源,有利于权限控制和系统安全。
可扩展性较好。客户和服务器均可单独地升级
传统C/S相比较B/S的局限:
1.不易部署(客户端逐一安装、挑平台)
2.维护困难(客户端需注意更新)

B/S
优点:分布式、易扩展、共享性强
相比较传统的C/S的优势:
1.易部署(各平台自带通用浏览器)
2.容易维护(服务器端改变网页内容可实现所有用户同步更新)
3.页面动态刷新,响应速度明显降低。

C/S,B/S的应用和区别的更多相关文章

  1. c#与java的区别

    经常有人问这种问题,用了些时间java之后,发现这俩玩意除了一小部分壳子长的还有能稍微凑合上,基本上没什么相似之处,可以说也就是马甲层面上的相似吧,还是比较短的马甲... 一般C#多用于业务系统的开发 ...

  2. jquery和Js的区别和基础操作

    jqery的语法和js的语法一样,算是把js升级了一下,这两种语法可以一起使用,只不过是用jqery更加方便 一个页面想要使用jqery的话,先要引入一下jqery包,jqery包从网上下一个就可以, ...

  3. 【原】nodejs全局安装和本地安装的区别

    来微信支付有2年多了,从2年前的互联网模式转变为O2O模式,主要的场景是跟线下的商户去打交道,不像以往的互联网模式,有产品经理提需求,我们帮忙去解决问题. 转型后是这样的,团队成员更多需要去寻找业务的 ...

  4. 探究@property申明对象属性时copy与strong的区别

    一.问题来源 一直没有搞清楚NSString.NSArray.NSDictionary--属性描述关键字copy和strong的区别,看别人的项目中属性定义有的用copy,有的用strong.自己在开 ...

  5. X86和X86_64和X64有什么区别?

    x86是指intel的开发的一种32位指令集,从386开始时代开始的,一直沿用至今,是一种cisc指令集,所有intel早期的cpu,amd早期的cpu都支持这种指令集,ntel官方文档里面称为&qu ...

  6. Java中Comparable与Comparator的区别

    相同 Comparable和Comparator都是用来实现对象的比较.排序 要想对象比较.排序,都需要实现Comparable或Comparator接口 Comparable和Comparator都 ...

  7. MySQL中interactive_timeout和wait_timeout的区别

    在用mysql客户端对数据库进行操作时,打开终端窗口,如果一段时间没有操作,再次操作时,常常会报如下错误: ERROR (HY000): Lost connection to MySQL server ...

  8. 设置line-height:1.5和line-height:150%或者line-height:150px的区别

    直接正题: 看一下line-height可能的值: 其实可以分为两类: (1)不带单位的(如line-height:1.5),这种是推荐使用的: (2)带单位的(如line-heigth:30px/1 ...

  9. C#中Length和Count的区别(个人观点)

    这篇文章将会很短...短到比你的JJ还短,当然开玩笑了.网上有说过Length和count的区别,都是很含糊的,我没有发现有 文章说得比较透彻的,所以,虽然这篇文章很短,我还是希望能留在首页,听听大家 ...

  10. select、poll、epoll之间的区别总结

    select.poll.epoll之间的区别总结 05/05. 2014 select,poll,epoll都是IO多路复用的机制.I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪 ...

随机推荐

  1. 清华大学 TUNA 协会

    https://tuna.moe/ 技术,实力,优越感,环境..,镜像

  2. Navicat for MySQL连接出错:1251

    平台:window10 x64+mysql-8.0.15-winx64+navicat_trial_11.1.20.0(PatchNavicat破解) 错误提示:1251-Client does no ...

  3. 【转】linux tar 压缩

    tar -c: 建立压缩档案-x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个.下面的 ...

  4. 2018.10.29 bzoj3718: [PA2014]Parking(树状数组)

    传送门 显然只用判断两个会相交的车会不会卡住就行了. 直接树状数组维护后缀最大值就行了. 代码: #include<bits/stdc++.h> using namespace std; ...

  5. 防止网站被镜像,被iframe

    1.防止网站被镜像 现象:他人域名访问到的是我的网站解析的ip地址我的 解决方法: http.ini里可以这样写 "RewriteCond Host: !^www.web\.cn$ Rewr ...

  6. RabbitMQ c#版实现(转)

    出处:https://www.cnblogs.com/hanfan/p/9842301.html 网上很多人已经总结的很好了,比如今天看到的这个.https://www.cnblogs.com/Lip ...

  7. Java数组的初始化

    1.动态初始化 数据类型 [] 变量名 = new 数据类型 [数组大小]; //数组的动态初始化 int [] arr = new int [3]; 2.静态初始化 数据类型 [] 变量名 = {元 ...

  8. VC调试小结

    本机调试F5: 开始调试Shift+F5: 停止调试F10: 调试到下一句,这里是单步跟踪 F11: 调试到下一句,跟进函数内部Shift+F11: 从当前函数中跳出F9: 设置(取消)断点Outpu ...

  9. oracle数据库的迁移(从一台服务器到另一个台服务器,从oracle 10g到oracle 11g)

    这个过程呢,还是蛮艰难的.... 一.最初我使用的是Navicat中的数据传输来迁移的,虽说整个数据库的迁移没有成功,但传输指定的对象时还是传输成功了.所以还是记录一下吧. 1.前提连接好数据库.在指 ...

  10. Oracle中根据当前时间和活动类型去数据库查询活动id

    活动类型默认是1,代表邀请好友 select * from t_invite_activityinfo twhere sysdate >= t.begintime and sysdate< ...