從智能手機App來看C/S和B/S的區別在哪?(Web的技術本質)

來源:互聯網
上載者:User

摘要:

 隨著智能手機的發展,C/S和B/S互相結合越發重要,深入理解兩者的開發思想、技術的不同很有必要。但 通過Googel/百度找不到滿意的相關的說明,故有此文和大家探討。

 注意本文是從技術角度,而不是商業角度來分析。

 從技術角度來看,C/S和B/S除了UI不同,BLL(1)層和DAL層使用相同的DLL;BLL(0)層可以根據C/S、B/S特點開發;

 即使用UI-->應用伺服器(BLL0)-->BLL1-->DAL的架構方式。

 1. 首先看一下典型的使用情境

   使用者下載網頁A,此時伺服器更新了A的提交邏輯,A再提交後新的邏輯立即起作用,並保證所有的用戶端是一樣的。

 在這一個情境中,有兩類人:一類是客戶,二類是程式開發人員;客戶訪問了網站,程式開發人員更新了網站程式。

2.先說C/S

   Client:用戶端,Server:伺服器端,最大的問題就在Server這個詞,多數的C/S應用是C/DatabaseServer,而不是C/ApplicationServer。

 2.1 C/DatabaseServer:即各個用戶端直接存取了資料庫,如果此時各個用戶端的BLL層和DAL層是一樣的,那沒有什麼問題;如果因為更新等因為BLL層和DAL層造成了不一致,就可能出現問題。
 2.2 C/ApplicationServer:即各個用戶端訪問了應用伺服器,而不能直接存取資料庫

 3.接著說B/S

 B/S=Browser +C/ApplicationServer,這裡C是指Web伺服器前端的請求分發的路由器,ApplicationServer即Web伺服器。

  如果有一台Web伺服器配置多個網域名稱的經驗,應該很清楚這個意思。

  從技術角度,B/S的本質是,不讓Browser 直接讀寫資料庫,而C/S開發則“不會捨近求遠”來開發應用伺服器層。

   B/S架構:商業邏輯總是通過Web伺服器,才能到達資料庫,從而有了保證。而C/S架構,各C均直接存取了資料庫,這是最大的不同。

  以上說的是讀寫資料庫的區別,而UI的區別,會明顯一些。

   反問一個問題:如果自己開發一個用戶端來解析XML(相當於自訂HTML),
伺服器上使用應用伺服器來讀寫資料,是不是就可以擷取B/S架構的好處,並克服B/S的非富用戶端的缺點?(不考慮安全問題)

    也許未來的智能手機App,都會是某種意義上的Browser,再由開發人員定義自己的HTML是什麼來獲得C/S和B/S的雙重好處。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.