問(wèn)答題
簡(jiǎn)單描述下web 服務(wù)器斋泄、PHP、數(shù)據(jù)庫(kù)、瀏覽器是如何實(shí)現(xiàn)動(dòng)態(tài)網(wǎng)站的
- web 服務(wù)器:
- 通過(guò)本機(jī)配置好的DNS域名服務(wù)器地址尋找DNS服務(wù)器菲饼,將網(wǎng)站URL中的Web主機(jī)域名解析為Web服務(wù)器中對(duì)應(yīng)的IP地址。
- 通過(guò)HTTP協(xié)議,去連接上述IP地址的服務(wù)器系統(tǒng),通過(guò)默認(rèn)80端口,請(qǐng)求Apache服務(wù)器上相應(yīng)目錄下的html文件(如index.htm)列赎。
- Apache服務(wù)器收到用戶(hù)的訪問(wèn)請(qǐng)求后宏悦,找到并打開(kāi)相應(yīng)的html文件,將文件內(nèi)容響應(yīng)給客戶(hù)端瀏覽器
- 瀏覽器收到Web服務(wù)器的響應(yīng)后包吝,接收并下載服務(wù)器端的html靜態(tài)代碼饼煞,然后瀏覽器解讀代碼,最終將網(wǎng)頁(yè)呈現(xiàn)出來(lái)
- PHP:
- 同上一步诗越,解析出相應(yīng)的ip地址
- 同上面第二步類(lèi)似砖瞧,請(qǐng)求對(duì)應(yīng)的php文件
- Apache服務(wù)器本身不能處理php動(dòng)態(tài)語(yǔ)言腳本文件,Apache服務(wù)器將用戶(hù)請(qǐng)求訪問(wèn)的php文件交給PHP應(yīng)用服務(wù)器嚷狞。
- PHP應(yīng)用服務(wù)器接收php文件块促,解釋php文件,翻譯成html靜態(tài)代碼床未,再將html靜態(tài)代碼交還給Apache服務(wù)器竭翠,Apache服務(wù)器將接收到的html靜態(tài)代碼輸出給用戶(hù)
- 同上面最后一步一樣,瀏覽器接收并下載html靜態(tài)代碼薇搁,解讀代碼斋扰,最終將網(wǎng)頁(yè)呈現(xiàn)出來(lái)
- 數(shù)據(jù)庫(kù):
- 同上一步,解析出相應(yīng)的ip地址
- 同上面第二步一樣,請(qǐng)求對(duì)應(yīng)的php文件
- 同上面第三步一樣褥实,PHP應(yīng)用服務(wù)器接收對(duì)應(yīng)php文件
- 打開(kāi)php文件呀狼,通過(guò)對(duì)數(shù)據(jù)庫(kù)連接的代碼來(lái)連接本機(jī)或者網(wǎng)絡(luò)上其他機(jī)器上的MySQL數(shù)據(jù)庫(kù),并在php程序中通過(guò)執(zhí)行標(biāo)準(zhǔn)的SQL查詢(xún)語(yǔ)句來(lái)獲取數(shù)據(jù)庫(kù)中的數(shù)據(jù)损离,再通過(guò)PHP應(yīng)用服務(wù)器將數(shù)據(jù)生成html靜態(tài)代碼哥艇。
- 同上面最后一步一樣,瀏覽器接收并下載html靜態(tài)代碼僻澎,解讀代碼貌踏,最終將網(wǎng)頁(yè)呈現(xiàn)出來(lái)
常見(jiàn)的 WEB 服務(wù)器有哪些?
Apache是世界使用排名第一的web服務(wù)器軟件窟勃。它可以運(yùn)行在幾乎所有廣泛使用的計(jì)算機(jī)平臺(tái)上祖乳。它源于NCSAhttpd服務(wù)器,特點(diǎn)是簡(jiǎn)單秉氧、速度快眷昆、性能穩(wěn)定,并可做代理服務(wù)器使用汁咏;
IIS是英文名Internet Information Server的縮寫(xiě)亚斋,是微軟公司主推的服務(wù)器;
Nginx不僅是一個(gè)小巧且高效的HTTP服務(wù)器攘滩,也可以做一個(gè)高效的負(fù)載均衡反向代理帅刊,通過(guò)它接受用戶(hù)的請(qǐng)求并分發(fā)到多個(gè)Mongrel進(jìn)程可以極大提高Rails應(yīng)用的并發(fā)能力。
Lighttpt是基于BSD許可的開(kāi)源WEB服務(wù)器軟件漂问,其根本的目的是提供一個(gè)專(zhuān)門(mén)針對(duì)高性能網(wǎng)站赖瞒,安全、快速蚤假、兼容性好并且靈活的web server環(huán)境栏饮。具有非常低的內(nèi)存開(kāi)銷(xiāo),CPU占用率低勤哗,效能好抡爹,以及豐富的模塊等特點(diǎn)。Lighttpd 是眾多OpenSource輕量級(jí)的web server中較為優(yōu)秀的一個(gè)芒划。
Zeus是一個(gè)運(yùn)行于Unix下的非常優(yōu)秀的Web Server冬竟,據(jù)說(shuō)性能超過(guò)Apache,是效率最高的Web Server之一民逼。
Tomcat是Apache 軟件基金會(huì)(Apache Software Foundation)的Jakarta 項(xiàng)目中的一個(gè)核心項(xiàng)目泵殴,由Apache、Sun 和其他一些公司及個(gè)人共同開(kāi)發(fā)而成拼苍。特定是 技術(shù)先進(jìn)笑诅、性能穩(wěn)定调缨,而且免費(fèi)。
打開(kāi)瀏覽器吆你,在地址欄輸入 http://jirengu.com 頁(yè)面展現(xiàn)了饑人谷官網(wǎng)的信息弦叶,整個(gè)過(guò)程發(fā)生了什么?(饑人谷官網(wǎng)后臺(tái)語(yǔ)言 php,web服務(wù)器 nginx妇多,數(shù)據(jù)庫(kù) mysql)
- 過(guò)程:
- 用戶(hù)輸入
http://jirengu.com
伤哺,瀏覽器獲取域名,通過(guò)url解析出對(duì)應(yīng)的服務(wù)器ip地址者祖。 - 瀏覽器將用戶(hù)輸入的請(qǐng)求信息打包給nginx
- nginx分析用戶(hù)信息立莉,尋找對(duì)應(yīng)的文件
- 如果對(duì)應(yīng)的文件有php文件,nginx將其發(fā)給php服務(wù)器處理七问,在處理php文件時(shí)鏈接數(shù)據(jù)庫(kù)并獲取數(shù)據(jù)蜓耻,然后翻譯成html靜態(tài)代碼交給nginx
- 瀏覽器接收并下載nginx傳輸?shù)膆tml靜態(tài)代碼,最后瀏覽器解析結(jié)果并將網(wǎng)頁(yè)呈現(xiàn)出來(lái)
版權(quán)歸吳秀芳和饑人谷所有械巡,若有轉(zhuǎn)載刹淌,請(qǐng)注明來(lái)源