C/S架構和B/S架構

来源:http://www.cnblogs.com/wsw-tcsygrwfqd/archive/2017/10/04/7627447.html
-Advertisement-
Play Games

本文內容整理自http://blog.csdn.net/tennysonsky/article/details/45062079 C/S架構和B/S架構是兩種頗具影響力的軟體體繫結構。C/S是一種歷史悠久且技術非常成熟的架構;B/S是新生代架構,從C/S派生出來,有很多創新,在web信息時代虎虎生威 ...


本文內容整理自http://blog.csdn.net/tennysonsky/article/details/45062079

C/S架構和B/S架構是兩種頗具影響力的軟體體繫結構。C/S是一種歷史悠久且技術非常成熟的架構;B/S是新生代架構,從C/S派生出來,有很多創新,在web信息時代虎虎生威。

一、C/S架構

一直很流行並且比較經典的是我們要研究的兩層C/S架構。

C/S架構分為客戶機和伺服器兩層,第一層是用戶表示層,第二層是資料庫層。

客戶端和伺服器直接相連,這兩個組成部分都承擔著重要的角色。第一層的客戶機並不是只有輸入輸出,運算等能力,它可以處理一些計算、數據存儲等方面的業務邏輯事務;第二層的伺服器主要承擔事務邏輯處理,本來事務很重,但是由於客戶機可以分擔一些邏輯事務,所以減輕了伺服器的負擔。

二、B/S架構

隨著Internet和WWW的流行,以往的主機/終端和C/S都無法滿足當前的全球網路開放、互連、信息隨處可見和信息共用的新要求,於是就出現了B/S型模式,即瀏覽器/伺服器結構。它是C/S架構的一種改進,可以說屬於三層C/S架構。

客戶機

表示層:用於界面引導,接受用戶輸入,

並嚮應用伺服器發送服務請求,顯示處理結果。

 

應用伺服器

業務邏輯層:執行業務邏輯,向資料庫發送請求。

資料庫伺服器

數據存儲層:執行數據邏輯,運行SQL或存儲過程。

第一層是瀏覽器,即客戶端,只有簡單的輸入輸出功能,處理極少部分的事務邏輯。由於客戶不需要安裝客戶端,只要有瀏覽器就能上網瀏覽,所以它面向的是大範圍的用戶,所以界面設計得比較簡單,通用。

第二層是WEB伺服器,扮演著信息傳送的角色。當用戶想要訪問資料庫時,就會首先向WEB伺服器發送請求,WEB伺服器同意請求後,會向資料庫伺服器發送訪問資料庫的請求,這個請求是以SQL語句實現的。

第三層是資料庫伺服器,它扮演著重要的角色,因為它存放著大量的數據。當資料庫伺服器收到了WEB伺服器的請求後,會對sql語句進行處理,並將返回的結果發送給WEB伺服器,接下來,WEB伺服器將收到的數據結果轉換為HTML文本形式發送給瀏覽器,也就是我們打開瀏覽器看到的界面。

三、C/S架構和B/S架構的比較

比較項目 C/S架構 B/S架構
網路環境 區域網 廣域網
安全要求

面向相對固定的用戶群,

信息安全的控制能力很強

面向的是不可知的用戶群,

對安全的控制能力相對弱

邏輯事務處理

客戶端和服務端各承擔一部分邏輯事務處理

客戶端只能進行簡單的輸入和輸出和信息發佈共用功能,主要的邏輯事務處理還是要靠伺服器

響應速度

快,尤其是用戶增加時更加明顯

軟體重用
系統維護 升級難 方便升級
用戶介面 與操作系統關係密切 跨平臺,與瀏覽器相關
資料庫連接類型

ODBC連接,只要用戶連接了資料庫就一直保持連接不會斷開

限制了用戶數

JDBC連接,用戶並不保持對資料庫的連接,所以用戶幾乎是無限的
功能 較複雜,能夠實現單一的複雜功能,現在大多數大型的ERP系統仍然是C/S架構 較弱,處理的事務邏輯較少,但界面比較通用
對技術人員的要求 較高 較低

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1.查看Firewall 服務狀態 2.查看Firewall 的狀態 註意: firewalld預設配置文件有兩個:/usr/lib/firewalld/ (系統配置,儘量不要修改)和 /etc/firewalld/ (用戶配置地址) 先把ssh的埠改下 防止不能遠程操作了 3、開啟、重啟、關閉、 ...
  • PIC中檔系列單片機,每條指令14位,共有35條彙編指令,根據操作對象不同,可將其分為三類: 位元組操作類指令 位操作類指令 立即數與控制類操作指令 1、位元組操作類指令,以MOVF指令為例: 指令:MOVF f, d 說明: 功能:寄存器f值傳送; MOVF為助記符,即操作指令,大小寫均可; f代表文 ...
  • 1》虛擬化技術: 電腦虛擬化技術是多種技術的綜合實現,它包括硬體平臺,操作系統,存儲以及網路等,簡單地說,虛擬化技術就是在單台主機上可以虛擬多個虛假主機,並可以在這些虛擬主機上運行不同的操作系統平臺,虛擬化技術的出現可以節約大量的硬體資源與能源消耗,降低資金成本,虛擬化現在已經是每個企業必有的項目 ...
  • 一、基本的編譯與安裝 1、安裝依賴項 2、下載新版本,到官網複製下載鏈接 3、解壓 4、編譯安裝 編譯選項說明: --prefix=path 如果在編譯的不指定安裝位置,那麼預設的位置/usr/local/nginx目錄--sbin-path=path 設置nginx執行腳本的位置,這裡如果設置在p ...
  • scp 是secure copy的簡寫,用於在Linux下進行遠程拷貝文件的命令,和它類似的命令有cp,不過cp只是在本機進行拷貝不能跨伺服器,而且 scp傳輸是加密的。可能會稍微影響一下速度。當你伺服器硬碟變為只讀 read only system時,用scp可以幫你把文件移出來。另 外,scp還 ...
  • 第1章 軟體查詢 1.1 查詢軟體是否安裝 rpm -qa |grep cron 查詢是否安裝了這個軟體. [root@znix ~]# rpm -qa |grep cron crontabs-1.10-33.el6.noarch cronie-1.4.4-16.el6_8.2.x86_64 cro ...
  • C#操作字元串方法總結 staticvoid Main(string[] args){ string s =""; //(1)字元訪問(下標訪問s[i]) s ="ABCD"; Console.WriteLine(s[0]); // 輸出"A"; Console.WriteLine(s.Length ...
  • ajax請求出現500錯誤——但是想實現的功能是,把一個頁面分成了兩份,點擊右邊導航欄,利用ajax請求,請求數據,在右邊出現相應頁面,當時使用的是partialAction然後出現了這個500錯誤,主要就是在這個action上,一個頁面不能ajax請求另一個頁面。當時對實體集也不是很瞭解,對於自動 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...