以Apache服務器為例 詳解動態網站訪問

來源:本站原創 服務器技術 超過665 views圍觀 0條評論

目前來說,網站頁面主要分為靜態頁面和動態頁面,純靜態頁面組成的網站現在相對比較少見,大型網站一般使用的是動態網站建站技術,還有一部分網站是靜態網頁與動態網頁共存,本文以Apache服務器、php語言為例,詳解動態網站的訪問過程,下面直接切入本文主題。

以Apache服務器為例 詳解訪問動態網站

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

S5:瀏覽器收到Web服務器的響應后,接收并下載服務器端的html靜態代碼,然后瀏覽器解讀代碼,最終將網頁呈現出來。

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

文章出自:CCIE那點事 http://www.qdxgqk.live/ 版權所有。本站文章除注明出處外,皆為作者原創文章,可自由引用,但請注明來源。 禁止全文轉載。
本文鏈接:http://www.qdxgqk.live/?p=936轉載請注明轉自CCIE那點事
如果喜歡:點此訂閱本站
  • 相關文章
  • 為您推薦
  • 各種觀點
?
暫時還木有人評論,坐等沙發!
發表評論

您必須 [ 登錄 ] 才能發表留言!

?
?
萌宠夺宝游戏