欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C/S和B/S兩種架構(gòu)的概念、區(qū)別和聯(lián)系

 更新時間:2014年09月06日 11:23:30   投稿:junjie  
這篇文章主要介紹了C/S和B/S兩種架構(gòu)的概念、區(qū)別和聯(lián)系,本位還同時講解了主流的Web程序應(yīng)用平臺、Web工作原理等內(nèi)容,需要的朋友可以參考下

2006_photo12

    C/S和B/S,是再普通不過的兩種軟件架構(gòu)方式,都可以進(jìn)行同樣的業(yè)務(wù)處理,甚至也可以用相同的方式實現(xiàn)共同的邏輯。既然如此,為何還要區(qū)分彼此呢?那我們就來看看二者的區(qū)別和聯(lián)系。

一、C/S 架構(gòu)

1、 概念

C/S 架構(gòu)是一種典型的兩層架構(gòu),其全程是Client/Server,即客戶端服務(wù)器端架構(gòu),其客戶端包含一個或多個在用戶的電腦上運行的程序,而服務(wù)器端有兩種,一種是數(shù)據(jù)庫服務(wù)器端,客戶端通過數(shù)據(jù)庫連接訪問服務(wù)器端的數(shù)據(jù);另一種是Socket服務(wù)器端,服務(wù)器端的程序通過Socket與客戶端的程序通信。

C/S 架構(gòu)也可以看做是胖客戶端架構(gòu)。因為客戶端需要實現(xiàn)絕大多數(shù)的業(yè)務(wù)邏輯和界面展示。這種架構(gòu)中,作為客戶端的部分需要承受很大的壓力,因為顯示邏輯和事務(wù)處理都包含在其中,通過與數(shù)據(jù)庫的交互(通常是SQL或存儲過程的實現(xiàn))來達(dá)到持久化數(shù)據(jù),以此滿足實際項目的需要。

2 、優(yōu)點和缺點

優(yōu)點:

2.1  C/S架構(gòu)的界面和操作可以很豐富。
2.2  安全性能可以很容易保證,實現(xiàn)多層認(rèn)證也不難。
2.3  由于只有一層交互,因此響應(yīng)速度較快。

缺點:

2.4  適用面窄,通常用于局域網(wǎng)中。
2.5  用戶群固定。由于程序需要安裝才可使用,因此不適合面向一些不可知的用戶。
2.6  維護(hù)成本高,發(fā)生一次升級,則所有客戶端的程序都需要改變。

二、B/S架構(gòu)

1、概念

B/S架構(gòu)的全稱為Browser/Server,即瀏覽器/服務(wù)器結(jié)構(gòu)。Browser指的是Web瀏覽器,極少數(shù)事務(wù)邏輯在前端實現(xiàn),但主要事務(wù)邏輯在服務(wù)器端實現(xiàn),Browser客戶端,WebApp服務(wù)器端和DB端構(gòu)成所謂的三層架構(gòu)。B/S架構(gòu)的系統(tǒng)無須特別安裝,只有Web瀏覽器即可。

B/S架構(gòu)中,顯示邏輯交給了Web瀏覽器,事務(wù)處理邏輯在放在了WebApp上,這樣就避免了龐大的胖客戶端,減少了客戶端的壓力。因為客戶端包含的邏輯很少,因此也被成為瘦客戶端。

2 、優(yōu)點和缺點

優(yōu)點:

1)客戶端無需安裝,有Web瀏覽器即可。
2)BS架構(gòu)可以直接放在廣域網(wǎng)上,通過一定的權(quán)限控制實現(xiàn)多客戶訪問的目的,交互性較強(qiáng)。
3)BS架構(gòu)無需升級多個客戶端,升級服務(wù)器即可。

缺點:

1)在跨瀏覽器上,BS架構(gòu)不盡如人意。
2)表現(xiàn)要達(dá)到CS程序的程度需要花費不少精力。
3)在速度和安全性上需要花費巨大的設(shè)計成本,這是BS架構(gòu)的最大問題。
4)客戶端服務(wù)器端的交互是請求-響應(yīng)模式,通常需要刷新頁面,這并不是客戶樂意看到的。(在Ajax風(fēng)行后此問題得到了一定程度的緩解)

三、B/S對C/S的改進(jìn)和擴(kuò)展

          正如前文所說,C/S和B/S都可以進(jìn)行同樣的業(yè)務(wù)處理,但是B/S隨著Internet技術(shù)的興起,是對C/S結(jié)構(gòu)的一種改進(jìn)或者擴(kuò)展的結(jié)構(gòu)。相對于C/S,B/S具有如下優(yōu)勢:

1、分布性:可以隨時進(jìn)行查詢、瀏覽等業(yè)務(wù)

2、業(yè)務(wù)擴(kuò)展方便:增加網(wǎng)頁即可增加服務(wù)器功能

3、維護(hù)簡單方便:改變網(wǎng)頁,即可實現(xiàn)所有用戶同步更新

4、開發(fā)簡單,共享性強(qiáng),成本低,數(shù)據(jù)可以持久存儲在云端而不必?fù)?dān)心數(shù)據(jù)的丟失。

四、主流的Web程序應(yīng)用平臺

一個動態(tài)網(wǎng)站服務(wù)器平臺至少要包括:操作系統(tǒng)+Web服務(wù)器+應(yīng)用程序服務(wù)+數(shù)據(jù)庫。一個優(yōu)秀的網(wǎng)站服務(wù)器是由多方面因素決定的,如個人喜好、部署費用、安全機(jī)制等。而現(xiàn)在主流的三種Web平臺:ASP.NET、JavaEE和LAMP各有優(yōu)缺點,以滿足不同的需要和用戶。三者比較如下:

2014-08-31_103156

三種平臺的各部分組合:

ASP.NET:Windows Server+IIS+SQL Server+ASP

JavaEE:UNIX+Tomcat+Oracle+JSP

LAMP:Linux+Apache+MySQL+PHP

五、三張圖告訴你Web工作原理

1、服務(wù)器不帶應(yīng)用程序和數(shù)據(jù)庫,直接請求HTML文件

1

2、服務(wù)器帶應(yīng)用程序(如php)

2

3、服務(wù)器帶應(yīng)用程序和數(shù)據(jù)庫

3

相關(guān)文章

  • 消息交換模式RabbitMQ簡介

    消息交換模式RabbitMQ簡介

    這篇文章簡單介紹了消息交換模式RabbitMQ,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • 滑動驗證碼的設(shè)計與理解

    滑動驗證碼的設(shè)計與理解

    這篇文章主要介紹了滑動驗證碼的設(shè)計與理解,本文通過實例代碼給大家介紹小網(wǎng)站是怎么設(shè)計的,代碼簡單易懂,需要的朋友可以參考下
    2019-08-08
  • git版本庫創(chuàng)建拓展添加文件到版本庫教程

    git版本庫創(chuàng)建拓展添加文件到版本庫教程

    這篇文章主要為大家介紹了git版本庫創(chuàng)建拓展添加文件到版本庫教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-04-04
  • 解析jetbrains IDE的插件加載不出來的問題(IDEA、pycharm等)

    解析jetbrains IDE的插件加載不出來的問題(IDEA、pycharm等)

    這篇文章主要介紹了解析jetbrains IDE的插件加載不出來(IDEA、pycharm等),本文給大家分享解決方案,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-10-10
  • 如何免費獲取 Jetbrain 全家桶使用兌換碼的正確姿勢(推薦)

    如何免費獲取 Jetbrain 全家桶使用兌換碼的正確姿勢(推薦)

    這篇文章主要介紹了免費獲取 Jetbrain 全家桶使用兌換碼的正確姿勢(推薦),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-09-09
  • NoVNC以Web方式交付VNC遠(yuǎn)程連接的方法

    NoVNC以Web方式交付VNC遠(yuǎn)程連接的方法

    noVNC是一個 HTML5 VNC 客戶端,采用 HTML 5 WebSockets, Canvas 和 JavaScript 實現(xiàn),這篇文章主要介紹了NoVNC以Web方式交付VNC遠(yuǎn)程連接的方法,感興趣的朋友一起看看吧
    2021-09-09
  • IntelliJ IDEA下的SVN使用(傻瓜式教學(xué))

    IntelliJ IDEA下的SVN使用(傻瓜式教學(xué))

    這篇文章主要介紹了IntelliJ IDEA下的SVN使用(傻瓜式教學(xué)),文中通過圖文示例介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • 一文了解文檔寫作利器 Markdown

    一文了解文檔寫作利器 Markdown

    這篇文章主要介紹了一文了解文檔寫作利器 Markdown,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2020-04-04
  • Grafana?系列之統(tǒng)一展示Prometheus數(shù)據(jù)源

    Grafana?系列之統(tǒng)一展示Prometheus數(shù)據(jù)源

    這篇文章主要為大家介紹了Grafana?系列之統(tǒng)一展示Prometheus數(shù)據(jù)源配置詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • 基于Python和Java實現(xiàn)單詞計數(shù)(Word Count)

    基于Python和Java實現(xiàn)單詞計數(shù)(Word Count)

    Spark框架也是MapReduce-like模型,采用“分治-聚合”策略來對數(shù)據(jù)分布進(jìn)行分布并行處理,本文就來利用Spark實現(xiàn)單詞統(tǒng)計的功能,需要的可以參考一下
    2023-05-05

最新評論