(1)用戶端訪問服務器端的html文件

S1:通過本機配置好的DNS域名服務器地址尋找DNS服務器,將網(wǎng)站URL中的Web主機域名解析為Web服務器所在的Linux操作系統(tǒng)(Apache通常與Linux操作系統(tǒng)組合使用)中對應的IP地址。

S2:通過HTTP協(xié)議(超文本傳輸協(xié)議)去連接上述IP地址的服務器系統(tǒng),通過默認80端口(默認的端口是80,也有其他端口,輸入URL時一般不用輸入端口)請求Apache服務器上相應目錄下的html文件(如index.htm)。

S3:Apache服務器收到用戶的訪問請求后,在它管理的文檔目錄中找到并打開相應的html文件(如index.htm),將文件內(nèi)容響應給客戶端瀏覽器(即用戶)。

S4:瀏覽器收到Web服務器的響應后,接收并下載服務器端的html靜態(tài)代碼,然后瀏覽器解讀代碼,最終將網(wǎng)頁呈現(xiàn)出來(由于不同的瀏覽器對于代碼的解讀規(guī)則會不一樣,所以不同瀏覽器對于相同的網(wǎng)頁呈現(xiàn)的最終頁面效果會有所差異)。

(2)用戶端訪問服務器端的php文件

S1:該步與上面訪問html靜態(tài)網(wǎng)頁是一樣的,通過DNS服務器解析出相應的Web服務器的IP地址。

S2:與上面訪問html靜態(tài)頁面相似,不過最后請求的是Apache服務器上相應目錄下的php文件,如index.php。

S3:Apache服務器本身不能處理php動態(tài)語言腳本文件,就尋找并委托PHP應用服務器來處理(服務器端事先得安裝PHP應用服務器),Apache服務器將用戶請求訪問的php文件(如index.php)文件交給PHP應用服務器。

S4:PHP應用服務器接收php文件(如index.php),打開并解釋php文件,最終翻譯成html靜態(tài)代碼,再將html靜態(tài)代碼交還給Apache服務器,Apache服務器將接收到的html靜態(tài)代碼輸出到客戶端瀏覽器(即用戶)。

S5:與上面訪問html靜態(tài)頁面相同,瀏覽器收到Web服務器的響應后,接收并下載服務器端的html靜態(tài)代碼,然后瀏覽器解讀代碼,最終將網(wǎng)頁呈現(xiàn)出來。

(3)用戶端訪問服務器端的MySQL數(shù)據(jù)庫

如果用戶需要對MySQL數(shù)據(jù)庫中的數(shù)據(jù)進行操作,那么就需要在服務器端安裝數(shù)據(jù)庫管理軟件MySQL服務器,用來存儲和管理網(wǎng)站數(shù)據(jù)。由于 Apache服務器是無法連接和操作MySQL服務器,所以還需要安裝php應用服務器,這樣Apache服務器就委托php應用服務器去連接和操作數(shù)據(jù)庫,在對數(shù)據(jù)庫中的數(shù)據(jù)進行管理的時候,一般都需要用到結構化查詢語句,即SQL語句。

S1:該步與上面訪問php文件一樣,通過DNS服務器解析出相應的Web服務器的IP地址。

S2:與上面訪問php文件一樣,請求訪問Apache服務器上相應目錄下的php文件。

S3:與上面訪問php文件一樣,PHP應用服務器接收Apache服務器的委托,收到相應的php文件。

S4:PHP應用服務器打開php文件,在php文件中通過對數(shù)據(jù)庫連接的代碼來連接本機或者網(wǎng)絡上其他機器上的MySQL數(shù)據(jù)庫,并在php程序中通過執(zhí)行標準的SQL查詢語句來獲取數(shù)據(jù)庫中的數(shù)據(jù),再通過PHP應用服務器將數(shù)據(jù)生成html靜態(tài)代碼。

S5:瀏覽器收到Web服務器的響應后,接收并下載服務器端的html靜態(tài)代碼,然后瀏覽器解讀代碼,最終將網(wǎng)頁呈現(xiàn)出來。

需要注意的是,文中(2)與(3)的區(qū)別是,一個訪問了數(shù)據(jù)庫,另一個沒有訪問數(shù)據(jù)庫,所以在過程中有點差別。

原文地址:http://server.zol.com.cn/354/3540917.html

分享到

zhaohang

相關推薦