動手
訪問:
1莽鸭、簡單描述下web 服務(wù)器吗伤、PHP、數(shù)據(jù)庫硫眨、瀏覽器是如何實現(xiàn)動態(tài)網(wǎng)站的?
發(fā)送請求:瀏覽器根據(jù)用戶輸入的域名足淆,運用DNS緩存或請求本地DNS服務(wù)器解析等獲得對應(yīng)IP地址,使用HTTP協(xié)議發(fā)送請求報文(含請求內(nèi)容、瀏覽器信息巧号、本地緩存族奢、cookie等)
返回數(shù)據(jù):web服務(wù)器接收到請求,會去尋找對應(yīng)文件丹鸿,找到后會反饋給瀏覽器說請求的內(nèi)容已經(jīng)找到越走。
html文件:web服務(wù)器在自己目錄下尋找,找到后會直接反饋給瀏覽器靠欢;
PHP文件:web服務(wù)器會現(xiàn)在自己目錄下找PHP文件廊敌,找到后它會發(fā)給PHP服務(wù)器幫忙解析,PHP服務(wù)器會將PHP文件翻譯成html代碼返回給web服務(wù)器门怪;
數(shù)據(jù)操作:如果請求中涉及到數(shù)據(jù)庫的操作的話骡澈,同樣,web服務(wù)器將PHP文件發(fā)給PHP服務(wù)器掷空,PHP服務(wù)器對文件中需要數(shù)據(jù)庫信息的部分請求MySQL數(shù)據(jù)庫提供對應(yīng)數(shù)據(jù)肋殴,之后PHP服務(wù)器再將反饋的數(shù)據(jù)翻譯成html代碼發(fā)送給web服務(wù)器。
渲染呈現(xiàn):瀏覽器根據(jù)web服務(wù)器的反饋拣帽,下載數(shù)據(jù)疼电,進(jìn)行解析渲染,并將最終頁面呈現(xiàn)給用戶减拭。
如圖所示:(圖是借用同學(xué)的)
2蔽豺、常見的 WEB 服務(wù)器有哪些?
常見的web服務(wù)器:
- Apache服務(wù)器:A pache(哈哈 一個補丁 我乍一聽還以為是直升機)使用廣泛拧粪,開放源代碼修陡,支持多個平臺,相比其他服務(wù)器占的內(nèi)存較大可霎,是重量級產(chǎn)品魄鸦。
- Microsoft IIS 服務(wù)器:微軟的,包括Web服務(wù)器癣朗、FTP服務(wù)器拾因、NNTP服務(wù)器和SMTP服務(wù)器,要使用它需要購買對應(yīng)的商業(yè)window server操作系統(tǒng)旷余。
- Nginx服務(wù)器:(發(fā)音同engine x)俄羅斯的一個站點開發(fā)的绢记,相比于Apache服務(wù)器,Nginx占用內(nèi)存小且較穩(wěn)定正卧。
- Tomcat服務(wù)器:(哈哈 湯姆貓服務(wù)器)也是開放源代碼的蠢熄,運行servlet和JSP Web應(yīng)用軟件基于Java,比絕大多數(shù)的商業(yè)用的軟件服務(wù)器要好炉旷。
3签孔、打開瀏覽器叉讥,在地址欄輸入 http://jirengu.com 頁面展現(xiàn)了饑人谷官網(wǎng)的信息,整個過程發(fā)生了什么饥追?(饑人谷官網(wǎng)后臺語言 php,web服務(wù)器 nginx图仓,數(shù)據(jù)庫 mysql)
用戶輸入網(wǎng)址:用戶輸入網(wǎng)址,包含協(xié)議和域名
瀏覽器獲得IP地址:瀏覽器先找自身緩存看是否有記錄判耕,沒有的話再找操作系統(tǒng)緩存透绩,再沒有就請求本地DNS服務(wù)器幫忙,本地DNS再找不到再一層層往上壁熄;最終帚豪,瀏覽器獲得了對應(yīng)的IP地址。
瀏覽器發(fā)送請求:瀏覽器根據(jù)HTTP協(xié)議草丧,給對應(yīng)IP地址的主機發(fā)送請求報文狸臣,默認(rèn)端口為80,報文含請求內(nèi)容昌执、瀏覽器信息烛亦、本地緩存、cookie等等信息懂拾。
web服務(wù)器接收請求煤禽、尋找文件:Nginx服務(wù)器接收到請求,在自己目錄下開始尋找對應(yīng)php文件
PHP服務(wù)器翻譯php文件:找到后將文件發(fā)給PHP服務(wù)器岖赋,PHP服務(wù)器打開php文件進(jìn)行翻譯檬果,如果碰到需要數(shù)據(jù)庫對應(yīng)數(shù)據(jù)的部分,PHP服務(wù)器就用標(biāo)準(zhǔn)的SQL查詢語句來獲取數(shù)據(jù)庫中的數(shù)據(jù)唐断。
MySQL數(shù)據(jù)庫提供數(shù)據(jù):接收PHP服務(wù)器指令选脊,會反饋對應(yīng)數(shù)據(jù)給PHP服務(wù)器。
PHP服務(wù)器完成翻譯發(fā)給web服務(wù)器:PHP服務(wù)器將php文件翻譯生成靜態(tài)html代碼脸甘,并發(fā)送給web服務(wù)器恳啥。
web服務(wù)器接收并通知瀏覽器:web服務(wù)器接收PHP服務(wù)器的html代碼,并反饋給瀏覽器讓瀏覽器開始下載丹诀。
瀏覽器下載:瀏覽器收到web服務(wù)器通知钝的,開始下載請求的所有資源。
瀏覽器解析渲染:瀏覽器邊下載邊解析铆遭,并開始生成html樹和css樹扁藕,組合二者并開始渲染頁面。
瀏覽器呈現(xiàn)頁面:頁面渲染完成疚脐,瀏覽器將饑人谷官網(wǎng)繪制出呈現(xiàn)給用戶。