·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. python文件打包

    python文件打包 先安装 pip3 install --upgrade pyinstaller 进入到文件的当前目录 ,在命令行中输入: pyinstaller -F -w[文件名].py 其中- ...

  2. 网络编程之IO模型

    IO模型的分类 blocking IO:阻塞IO nonblocking IO:非阻塞IO IO multiplexing:IO多路复用 signal driven IO:异步IO 通常情况下IO默认 ...

  3. 2018.11.07 NOIP训练 L的鞋子(权值分块+莫队)

    传送门 乱搞题. 我直接对权值分块+莫队水过了. 不过调了30min30min30min发现ststst表挂了是真的不想说什么233. 代码

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

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

  5. express框架搭建服务端

    1.管理员权限全局安装express npm i -g express-generator@4 2.创建express项目 express -e projectName 3.进入项目并安装 cd pr ...

  6. linux命令tee用法

    功能说明:读取标准输入的数据,并将其内容输出成文件. 语 法:tee [-ai][--help][--version][文件…] 补充说明:tee指令会从标准输入设备读取数据,将其内容输出到标准输出设 ...

  7. 程序员面试50题—sizeof的用法(6)

    以下为Windows下的32 位C++程序,请计算sizeof 的值void Func ( char str[100] ){sizeof( str ) = ?}void *p = malloc( 10 ...

  8. react优化--pureComponent

    shouldComponentUpdate的默认渲染 在React Component的生命周期中,shouldComponentUpdate方法,默认返回true,也就意味着就算没有改变props或 ...

  9. 很实用的linux 上的svn安装和svnserver 的重启

    虽然在windows上搭建SVN很简单,但是效能却不高,这当然是和linux相比了.然而在linux上搭建SVN却非常繁琐,所以今天这篇文章就来一步一步教您如何在Centos上搭建SVN 安装 #yu ...

  10. javascript总结集合

    前言:下面的总结都是自己测试过的,绝大多数都是没问题的,但是不敢保证一定全面,还需要诸君自己独立思考: 1)基础:在nodejs里全局对象是global,而网页里js的全局对象是window:对于所有 ...