前端基礎(chǔ)(問答18)


keywords:php、http、動(dòng)態(tài)網(wǎng)站的實(shí)現(xiàn)。


問答

  • 簡(jiǎn)單描述下web 服務(wù)器、PHP、數(shù)據(jù)庫(kù)、瀏覽器是如何實(shí)現(xiàn)動(dòng)態(tài)網(wǎng)站的?

a:訪問服務(wù)器端的html文件:
1、瀏覽器通過本機(jī)配置好的DNS地址尋找到DNS服務(wù)器,DNS服務(wù)器解析出域名對(duì)應(yīng)的IP地址;
2、瀏覽器根據(jù)IP地址向服務(wù)器發(fā)出http請(qǐng)求,索取資源;
3、服務(wù)器收到http請(qǐng)求后,依據(jù)http請(qǐng)求尋找相應(yīng)文件,然后發(fā)出http響應(yīng),將資源返回給瀏覽器;
4、瀏覽器收到http響應(yīng)后,開始下載服務(wù)器的靜態(tài)資源,經(jīng)過解析、渲染,呈現(xiàn)出網(wǎng)頁(yè)內(nèi)容。

b:用戶端訪問服務(wù)器端的php文件:
1、與訪問靜態(tài)html相同,通過dns解析出web服務(wù)器的IP地址;
2、請(qǐng)求Apache服務(wù)器相應(yīng)目錄下的php文件;
3、Apache服務(wù)器將用戶請(qǐng)求訪問的php文件委托給php應(yīng)用服務(wù)器處理;
4、php應(yīng)用服務(wù)器接手php文件,打開并將php文件轉(zhuǎn)化為html靜態(tài)代碼,再將靜態(tài)代碼交還給Apache服務(wù)器,Apache服務(wù)器接收之后再發(fā)給瀏覽器;
5、瀏覽器接收響應(yīng)、下載資源、解析渲染;

c:用戶端訪問服務(wù)器端的MySQL數(shù)據(jù)庫(kù):
服務(wù)器端必須安裝數(shù)據(jù)庫(kù)服務(wù)器比如MySQL,才能存取和管理數(shù)據(jù)。
1、同以上步驟,通過DNS服務(wù)器解析出服務(wù)器IP地址
2、請(qǐng)求服務(wù)器目錄下php文件
3、Apache服務(wù)器將php文件轉(zhuǎn)發(fā)給php應(yīng)用服務(wù)器
4、php應(yīng)用服務(wù)器在php文件中通過連接數(shù)據(jù)庫(kù)的代碼連接MySQL數(shù)據(jù)庫(kù),并在php程序中通過執(zhí)行SQL查詢語句獲取數(shù)據(jù),再通過php應(yīng)用服務(wù)器將數(shù)據(jù)生成html靜態(tài)代碼
5、瀏覽器接收響應(yīng)、下載資源、解析渲染;

  • 常見的 WEB 服務(wù)器有哪些?

1、apache HTTP服務(wù)器;
2、微軟的IIS(Internet information services);
3、google的google web services;
4、Nginx公司的nginx;
5、淘寶從nginx改良的Tengine;
6、lighttpd公司的lighttpd;
7、微軟的FontPage;

  • 打開瀏覽器,在地址欄輸入 http://jirengu.com 頁(yè)面展現(xiàn)了饑人谷官網(wǎng)的信息,整個(gè)過程發(fā)生了什么?(饑人谷官網(wǎng)后臺(tái)語言 php,web服務(wù)器 nginx,數(shù)據(jù)庫(kù) mysql)

從輸入url到頁(yè)面呈現(xiàn)

參考:
當(dāng)你輸入一個(gè)網(wǎng)址的時(shí)候,實(shí)際會(huì)發(fā)生什么?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容