1.簡單描述下web服務器、PHP、數(shù)據(jù)庫、瀏覽器是如何實現(xiàn)動態(tài)網(wǎng)站的?
- 訪問服務器端的html文件
(1)通過本機配置好的DNS域名服務地址尋找DNS服務器,DNS將域名解析為對應的IP地址;
(2)通過HTTP協(xié)議連接服務器系統(tǒng),并通過默認端口找到服務器相應目錄下的html文件;
(3)服務器接受到用戶的訪問請求后,找到并打開相應的html文件,將文件內(nèi)容發(fā)送給用戶(瀏覽器);
(4)瀏覽器接收到響應之后,接受并下載服務器端的html文件,瀏覽器解讀文件,最終將網(wǎng)頁呈現(xiàn)出來。 - 訪問服務器端的php文件
(1)通過DNS服務器解析出相應的web服務器的IP地址;
(2)請求Apache服務器上相應目錄下的php文件;
(3)Apache服務器本身不能處理php動態(tài)語言腳本文件,并委托php應用服務器來處理;
(4)php服務器將接收到的php文件解析成html靜態(tài)代碼并交給Apache服務器,Apache服務器將接收到的文件傳遞給用戶;
(5)瀏覽器接收并下載服務器端的html文件,對代碼進行解讀,最后將頁面呈現(xiàn)出來。 - 訪問服務器端的MySQL數(shù)據(jù)庫
(1)同上面的步驟一樣,通過DNS服務器解析出相應的Web服務器的IP地址;
(2)請求訪問服務器相應目錄下的php文件;
(3)PHP應用服務器接收Apache服務器的委托,收到相應的的php文件;
(4)php應用服務器在PHP文件中通過對數(shù)據(jù)庫連接的代碼來連接MySQL數(shù)據(jù)庫,并在php程序中通過SQL語句獲取數(shù)據(jù),通過PHP應用服務器將數(shù)據(jù)生成html代碼;
(5)瀏覽器接收并下載服務器端的html文件,對代碼進行解讀,最后將頁面呈現(xiàn)出來。
2.常見的 WEB 服務器有哪些?
- Apache是世界使用排名第一的web服務器軟件。它可以運行在幾乎所有廣泛使用的計算機平臺上。它源于NCSAhttpd服務器,特點是簡單、速度快、性能穩(wěn)定,并可做代理服務器使用;
- IIS是英文名Internet Information Server的縮寫,是微軟公司主推的服務器;
- Nginx不僅是一個小巧且高效的HTTP服務器,也可以做一個高效的負載均衡反向代理,通過它接受用戶的請求并分發(fā)到多個Mongrel進程可以極大提高Rails應用的并發(fā)能力。
- Lighttpt是基于BSD許可的開源WEB服務器軟件,其根本的目的是提供一個專門針對高性能網(wǎng)站,安全、快速、兼容性好并且靈活的web server環(huán)境。具有非常低的內(nèi)存開銷,CPU占用率低,效能好,以及豐富的模塊等特點。Lighttpd 是眾多OpenSource輕量級的web server中較為優(yōu)秀的一個。
- Zeus是一個運行于Unix下的非常優(yōu)秀的Web Server,據(jù)說性能超過Apache,是效率最高的Web Server之一。
- Tomcat是Apache 軟件基金會(Apache Software Foundation)的Jakarta 項目中的一個核心項目,由Apache、Sun 和其他一些公司及個人共同開發(fā)而成。特定是 技術先進、性能穩(wěn)定,而且免費。
3.打開瀏覽器,在地址欄輸入 http://jirengu.com
頁面展現(xiàn)了饑人谷官網(wǎng)的信息,整個過程發(fā)生了什么?(饑人谷官網(wǎng)后臺語言 php,web服務器 nginx,數(shù)據(jù)庫 mysql)
- 輸入http://jirengu.com 頁面時,瀏覽器會解析域名,通過域名解析出對應服務器的IP地址;
- 瀏覽器會將用戶輸入的請求信息打包發(fā)送給nginx服務器;
- 服務器會分析用戶的請求尋找對應文件;
- 如果請求文件包含有php文件,nginx服務器為尋找能處理的php處理服務器,在處理php文件時鏈接數(shù)據(jù)庫,最后生成html靜態(tài)代碼;
- 最后瀏覽器收到nginx服務器的響應后,接受并下載html靜態(tài)代碼,最后又瀏覽器解釋并最終呈現(xiàn)給用戶
版權(quán)歸本人所有,若有轉(zhuǎn)載,請注明來源