- PHP動態網站程序設計(第2版)
- 唐四薪
- 8字
- 2020-04-22 11:55:36
1.1 動態網站的原理
1.1.1 動態網站的起源
動態網站是一種基于B/S結構的網絡程序。那么什么是B/S結構呢?這就先要從網絡軟件的應用模式說起。
早期的應用程序都是運行在單機上的,稱為桌面應用程序。后來由于網絡的普及,出現了運行在網絡上的網絡應用程序(網絡軟件)。網絡應用程序有C/S和B/S兩種體系結構。
1.C/S體系結構
C/S是Client/Server的縮寫,即客戶機/服務器結構,這種結構的軟件包括客戶端程序和服務器端程序兩部分。就像大家常用的QQ等網絡軟件,需要下載并安裝專用的客戶端軟件(見圖1-1),并且服務器端也需要特定的軟件支持才能運行。

圖1-1 C/S結構的QQ客戶端界面
C/S結構最大的缺點是不易于部署,因為每臺客戶端計算機都要安裝客戶端軟件。而且,如果客戶端軟件需要升級,則必須為每臺客戶端單獨升級。另外,客戶端軟件通常對客戶機的操作系統也有要求,如有些客戶端軟件只能運行在Windows平臺下。
2.B/S體系結構
B/S是Browser/Server的縮寫,即瀏覽器/服務器結構。它是隨著Internet技術的興起,對C/S結構的一種變化或者改進的結構。在這種結構下,客戶端軟件由瀏覽器來代替(見圖1-2),一部分事務邏輯在瀏覽器端(Browser)實現,但是主要事務邏輯在服務器端(Server)實現。目前流行的是三層B/S結構,即表現層、事務邏輯層和數據處理層。

圖1-2 B/S結構的瀏覽器端界面
B/S結構很好地解決了C/S結構的上述缺點。因為每臺客戶端計算機都自帶瀏覽器,就不需要額外安裝客戶端軟件了,也就不存在客戶端軟件升級的問題了。另外,由于任何操作系統一般都帶有瀏覽器,因此B/S結構對客戶端的操作系統也沒有要求了。
但是B/S結構與C/S結構相比,也有其自身的缺點,首先因為B/S結構的客戶端軟件界面就是網頁,因此操作界面不可能做得很復雜、漂亮。例如,很難實現樹形菜單、選項卡式面板或鼠標右鍵快捷菜單等(或者雖然能夠模擬實現,但是響應速度比C/S中的客戶端軟件要慢很多)。其次,B/S結構下的每次操作一般都要刷新網頁,響應速度明顯不如C/S結構。再次,在網頁操作界面中,操作大多以鼠標方式為主,無法定義快捷鍵,也就無法滿足快速操作的需求。
提示:C/S結構和B/S結構的網絡軟件,其程序都是分布在客戶機和服務器上,因此它們統稱為分布式系統(Distributed System)。
- Oracle從入門到精通(第3版)
- 精通Nginx(第2版)
- JavaScript百煉成仙
- C/C++算法從菜鳥到達人
- Learning Laravel 4 Application Development
- 機械工程師Python編程:入門、實戰與進階
- Mastering Unity Shaders and Effects
- HDInsight Essentials(Second Edition)
- Learning Python Design Patterns
- Scala編程實戰(原書第2版)
- The DevOps 2.5 Toolkit
- Flutter跨平臺開發入門與實戰
- 開源項目成功之道
- Go語言從入門到精通
- Hacking Android