【计算机网络】常用软件架构C/S和B/S

文章目录

  • C/S和B/S架构
    • 一、C/S(Client Server)两层架构
      • 1、C/S架构背景:
      • 2、两层架构:
      • 3、C/S架构流程:
      • 4、C/S架构的优点:
      • 5、C/S架构的缺点:
    • 二、B/S(Browser Server)三层架构
      • 1、B/S架构背景:
      • 2、三层架构:
      • 3、B/S架构的三种形式:
      • 4、B/S常用架构流程:
      • 5、B/S架构的优点:
      • 6、B/S架构的缺点:
    • 三、C/S与B/S的结构区别
      • 1)比较大的差别
      • 2)小的差别

C/S和B/S架构

一、C/S(Client Server)两层架构

【计算机网络】常用软件架构C/S和B/S

4、C/S架构的优点:

  • C/S架构的界面和操作可以很丰富。(客户端操作界面可以随意排列,满足客户的需要)
  • 安全性能可以很容易保证。(因为只有两层的传输,而不是中间有很多层)
  • 由于只有一层交互,因此响应速度较快。(直接相连,中间没有什么阻隔或岔路,比如QQ,每天那么多人在线,也不觉得慢)

5、C/S架构的缺点:

  • 适用面窄,通常用于局域网中。
  • 用户群固定。由于程序需要安装才可使用,因此不适合面向一些不可知的用户。
  • 维护成本高,发生一次升级,则所有客户端的程序都需要改变。

二、B/S(Browser Server)三层架构

【计算机网络】常用软件架构C/S和B/S

第二种:客户端—Web服务器—应用服务器—数据库
类似于第一种方法,只是将web服务和应用服务解耦;
(1)客户端向web服务器发起Http请求;
(2)web服务能够处理Http请求,并且调用应用服务器暴露在外的RESTFUL接口;
(3)应用服务器的RESTFUL接口被调用,会执行对应的暴露方法.如果有必要和数据库进行数据交互,应用服务器会和数据库进行交互后,将json数据返回给web服务器;
(4)web服务器将模版+数据组合渲染成html返回给客户端。

【计算机网络】常用软件架构C/S和B/S

Nginx的优点有:
1、它能够承受、高并发的大量的请求,然后将这些请求均匀的转发给内部的服务器,分摊压力.
2、反向代理能够解决跨域引起的问题,因为Nginx,Node,应用服务器,数据库都处于内网段中。
3、Nginx非常擅长处理静态资源(img,css,js,video),所以也经常作为静态资源服务器,也就是我们平时所说的CDN。
  比如:前一个用户访问index.html, 经过Nginx-Node-应用服务器-数据库链路之后,Nginx会把index.html返回给用户,并且会把index.html缓存在Nginx上,
  下一个用户再想请求index.html的时候,请求Nginx服务器,Nginx发现有index.html的缓存,于是就不用去请求Node层了,会直接将缓存的页面(如果没过期的话)返回给用户。

4、B/S常用架构流程:

??客户机浏览器——经过Http请求——Web服务器——经过查询——数据库服务器——响应查询后返回结果——Web服务器——再经过Http响应——返回给客户机浏览器。

【计算机网络】常用软件架构C/S和B/S

1)比较大的差别

1、数据交互方式

  • C/S是两层架构,由客户端和数据库服务器组成,客户端跟服务端进行数据交互,数据传输采用Socket协议。
  • B/S是三层架构,由浏览器,WEB服务器和数据库服务器组成,浏览器跟服务器进行数据交互,数据传输采用HTTP协议。

2、逻辑事务处理

  • C/S架构合理地让客户端和服务器承担一部分逻辑事务处理,使得服务器的负担减轻了,而且客户端也能进行一些数据处理和存储的功能。
  • B/S架构的浏览器就是它的客户端,可是这个客户端只能进行一些简单的输入输出和信息发布共享的功能,主要的逻辑事务处理还是要靠服务器,所以服务器的负担很重。

3、工作原理

  • C/S架构是客户端和服务器直接相连,实现点对点的通信,
  • B/S是浏览器通过WEB服务器向数据库服务器发送数据请求,实现多对多的通信。

4、响应速度

  • C/S架构的客户端和服务器直接相连,中间没有任何阻隔,所以相应速度快,尤其是在用户增多时更加明显。
  • B/S架构相应速度慢,主要的重任在数据库服务器身上,由于B/S架构的无限扩展性,当用户激增,访问量庞大时,服务器相应速度慢,服务器存在瘫痪的危险。

5、成本

  • C/S架构开发时,硬件需要一次性购买,费用较高,且需要训练有素的技术人员,培训费用高,而且软件后期也需要不断投入大量资金。
  • B/S架构只需要一次性投入几乎可以一劳永逸,有利于软件项目控制和IT黑洞。

6、维护、升级以及扩展

  • C/S架构一旦有业务的变更或要升级,客户端界面就要重新设计,需要投入大量的人力物力。软件维护也比较麻烦,需要专业人士进行维护。用户扩展也比较麻烦,需要安装客户端,对软硬件要求高。
  • B/S架构的维护和升级都非常容易,只要更改页面内容或者增减页面即可,客户端几乎是零维护,只需要维护好服务器。所以相对来说更简易,方便。由于B/S可以随时随地的访问,所以极易扩展。

7、信息共享

  • C/S架构是建立在局域网之上的,面向的是可知的有限用户,信息共享只在小范围内。
  • B/S架构建立在广域网之上,用户随时随地都可以访问,外部用户也可以访问,尤其是WEB技术的不断发展,B/S面对的是几乎无限的用户群体,所以信息共享性很强。

8、客户端界面

  • C/S架构可以针对不同的功能设计出不同的很有特色的用户界面,实现个性化。但是一旦业务改变就需要重新设计,很麻烦。
  • B/S架构的用户界面很通用,不能针对用户突出个性,但是业务改变时只需要改变界面内容或者增减页面,很轻松就能实现。

2)小的差别

1、适用的网络

  • C/S架构是建立在局域网的基础之上的,局域网之间通过专用服务器提供连接提供服务。
  • B/S架构是建立在广域网的基础之上,有更大的使用范围。

2、访问

  • C/S架构下,用户需要安装客户端才能够访问服务器,
  • B/S架构下,用户可以随时随地访问,只要有网络有浏览器,方便快捷。

3、数据库连接类型

  • C/S采用的是ODBC连接,所以只要用户连接了数据库就一直保持连接不会断开,所以限制了用户数,
  • B/S采用的是JDBC连接,用户并不保持对数据库的连接,所以用户数几乎是无限的。

4、功能

  • C/S架构能够实现单一的复杂功能,如财政管理等,所以现在大多数比较大型的ERP系统仍是C/S架构,
  • B/S架构的界面比较通用,所能处理的逻辑事务较少,所以功能较弱。

5、安全性

  • C/S架构建立在局域网之上,面向比较固定的用户,对安全的要求较高。
  • B/S架构建立在广域网上,面对不可知人群,安全性差。

6、信息流向不同

  • C/S 程序一般是典型的中央集权的机械式处理, 交互性相对低
  • B/S 信息 流向可变化, B-B B-C B-G等信息、流向的变化, 更像个交易中心。

7、对技术人员的要求

  • C/S的功能比较专业化,对设计和开发人员的要求较高,需要专业的培训。
  • B/S的界面比较人性化,通用化,所以不需要多高的技能。

文章知识点与官方知识档案匹配,可进一步学习相关知识网络技能树认识身边的计算机网络常见的网络设备22037 人正在系统学习中

来源:及尔偕老lp

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年10月5日
下一篇 2020年10月5日

相关推荐