一、C/S B/S區別
(http://wenku.baidu.com/link?url=e8bxaqz_lYCXws6TlDRJEq1qsLumNTBhr3Es6eA1ZuhHhq9FZGbVgoomsvthiIJbJrZrqi3HvpMG8OzsPNh1CHqkSN-S7Lri8V7Haq-0AM_)
- C/S 全稱client/sever,即客戶端/服務器。
我們把提供(響應)服務的計算機稱作服務器(Server),接受(請求)服務的計算機稱作客戶機(Client),也叫工作站(Workstations)。
C/S架構軟件(即客戶機/服務器模式)分為客戶機和服務器兩層:第一層是在客戶機系統上結合了表示與業務邏輯,第二層是通過網絡結合了數據庫服務器。簡單的說就是第一層是用戶表示層,第二層是數據庫層。需要程序員自己寫客戶端。
舉個栗子:QQ
- B/S 全稱Browser/Server,即瀏覽器/服務器
只要有瀏覽器就可以打開。 相見下面的Web工作原理。
舉個栗子:博客園
|
C/S | B/S |
建立基礎 | 局域網 | 廣域網 |
安裝 | 需要安裝 | 只需要瀏覽器 |
壓力 | 客戶端壓力大 | 服務器壓力大 |
其他 | 升級和維護成本高,不受網速影響,更安全 斷網時不能與其他電腦共享資源 |
適應性更強,受網速影響,不夠安全 更加注重訪問速度,共享性強 業務拓展方便、維護簡單,兼容問題大 |
二、WEB工作原理
1.HTTP處理流程是怎么樣的?
建立連接-->客戶端瀏覽器發送請求信息--->web服務器解析請求並找到相應的資源將文件以及其它信息組成HTTP響應返回客戶端-->關閉連接。
2.WEB工作的三種方式
1)、服務器不帶應用程序和數據庫,直接請求HTML文件
2)、服務器帶應用程序(如php)
3)、服務器帶應用程序和數據庫
3.服務器,是擔負服務任務的機器。這些服務任務由一般專門的軟件來完成。
一般地,把具有某種服務功能的服務器軟件及其所在的機器,都統稱為XX服務器(XX表示某種具體服務)。這些軟件可以集中於一台機器中(如圖5),這樣的機器可以稱為集中式服務器;也可以單獨存在於某台機器中(如圖6),這樣的機器可以稱為獨立式服務器,多個獨立式服務器可組成服務器群或矩陣。
由交換機可以將多個服務器連接起來稱為一個服務器群,以下是常見的服務器軟件:
4.B/S工作的具體流程
5.PHP 程序工作的具體過程
具體過程是Apache、PHP、瀏覽器之間的協作過程:
用戶通過瀏覽器向服務器請求PHP文件(如在地址欄輸入:http://localhost/index.php),Apache在服務器上用戶文檔發布目錄下查找瀏覽器所請求的PHP文件,若找不到,則向瀏覽器返回錯誤信息,否則,將其提交給PHP解釋器解釋執行,PHP解釋器對該PHP文件進行語法分析,若發現語法錯誤,則經Apache返回錯誤信息(以瀏覽器能識別的代碼表示)到瀏覽器,否則執行該PHP程序(可能包含對數據庫MySQL的操作),將PHP程序執行結果(以瀏覽器能識別的代碼表示)經Apache返回到瀏覽器,瀏覽器對返回結果進行解釋、執行,執行的結果顯示在瀏覽器窗口中。
如果瀏覽器所請求的文件不是PHP文件,而是HTML文件或JavaScript文件。該過程將簡化:Apache在服務器上用戶文檔發布目錄下查找瀏覽器所請求的HTML文件或JavaScript文件,若找不到,則向瀏覽器返回錯誤信息,否則,將其返回給瀏覽器,瀏覽器對返回的結果進行解釋、執行,執行的結果顯示在瀏覽器窗口中。