任務(wù)23-熟悉后端語言

動(dòng)手

學(xué)習(xí) xampp或者wamp 的簡(jiǎn)單配置使用,在本地啟動(dòng) web 服務(wù)器,通過瀏覽器訪問,通過瀏覽器打開本地 webserver 下的 php 文件,截圖展示。

問題

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

  • 瀏覽器訪問服務(wù)器端的html文件:
    通過DNS服務(wù)器解析出相應(yīng)的Web服務(wù)器的IP地址。
    通過HTTP協(xié)議連接上述的服務(wù)器系統(tǒng),請(qǐng)求相應(yīng)目錄下的html文件。
    服務(wù)器接收到請(qǐng)求后,找到并打開相應(yīng)的html文件,將文件內(nèi)容響應(yīng)給客戶端瀏覽器。
    瀏覽器收到響應(yīng)后,接收并下載服務(wù)器端的靜態(tài)html代碼,通過解析、渲染,呈現(xiàn)出網(wǎng)頁的內(nèi)容。
  • 瀏覽器訪問服務(wù)端的php文件:
    與訪問html靜態(tài)網(wǎng)頁一樣,通過DNS服務(wù)器解析出相應(yīng)的Web服務(wù)器的IP地址。
    與請(qǐng)求html靜態(tài)頁面類似,不過最終請(qǐng)求的是php文件。
    由于Apache服務(wù)器本身不能處理php動(dòng)態(tài)語言腳本,所以Apache服務(wù)器將用戶請(qǐng)求訪問的php文件交給PHP應(yīng)用服務(wù)器。
    PHP應(yīng)用服務(wù)器接收php文件,打開并解釋php文件,翻譯成html靜態(tài)代碼,再將這些html靜態(tài)代碼返回給Apache服務(wù)器,服務(wù)器接收到html靜態(tài)代碼后返回給瀏覽器。
    瀏覽器接收到服務(wù)器的響應(yīng)后,接收下載html靜態(tài)代碼,解析、渲染呈現(xiàn)頁面。
  • 瀏覽器訪問服務(wù)端的MySQL數(shù)據(jù)庫部分:
    通過DNS服務(wù)器解析出相應(yīng)的Web服務(wù)器的IP地址。
    與上面訪問php文件一樣,請(qǐng)求訪問Apache服務(wù)器上相應(yīng)目錄下的php文件。
    與上面訪問php文件一樣,PHP應(yīng)用服務(wù)器接收到相應(yīng)的php文件。
    PHP應(yīng)用服務(wù)器打開php文件,在php文件中通過執(zhí)行標(biāo)準(zhǔn)的SQL查詢語句來獲取數(shù)據(jù)庫中的數(shù)據(jù),在通過PHP應(yīng)用服務(wù)器生成html靜態(tài)代碼返回給服務(wù)器,服務(wù)器再返回給瀏覽器。
    瀏覽器接收到服務(wù)器的響應(yīng)后,接收下載html靜態(tài)代碼,解析、渲染呈現(xiàn)出頁面。

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

  • IIS:英文InternetInformationServer的縮寫。它是微軟公司主推的服務(wù)器。IIS的特點(diǎn)具有:安全性、強(qiáng)大、靈活。
  • Tomcat:由Apache、Sun和其他一些公司及個(gè)人共同開發(fā)而成。Tomcat技術(shù)先進(jìn)、性能穩(wěn)定,而且免費(fèi),因而深受Java愛好者的喜愛并得到了部分軟件開發(fā)者的認(rèn)可,成為目前比較流行的Web應(yīng)用服務(wù)器。
  • Zeus:是一個(gè)運(yùn)行于Unix下的非誠(chéng)優(yōu)秀的Web服務(wù)器,據(jù)說性能超過Apache,是效率最高的Web服務(wù)器之一。
  • Nginx:不僅是一個(gè)小巧且高效的HTTP服務(wù)器,也可以做一個(gè)高效的負(fù)載均衡反向代理,通過它接受用戶的請(qǐng)求并分發(fā)到多個(gè)
    Mongrel進(jìn)程可以極大提高Rails應(yīng)用的并發(fā)能力。
  • Apache:是世界排名第一的Web服務(wù)器軟件。它幾乎可以運(yùn)行在所有的計(jì)算機(jī)平臺(tái)上。由于Apache是開源免費(fèi)的,因此有很多人參與到新功能的開發(fā)設(shè)計(jì),不斷對(duì)其 進(jìn)行完善。Apache的特點(diǎn)是簡(jiǎn)單、速度快、性能穩(wěn)定,并可做代理服務(wù)器來使用。
  • Lighttpd:它是由得國(guó)人JanKneschke領(lǐng)導(dǎo)開發(fā)的,基于BSD許可的開源WEB服務(wù)器軟件,其根本的目的是提供一個(gè)專門針對(duì)高性能網(wǎng)站,安全、快速、兼容性好并且靈活的webserver環(huán)境。具有非常低的內(nèi)存開銷,CPU占用率低,效能好,以及豐富的模塊等特點(diǎn)。支持FastCGI,CGI,Auth,輸出壓縮(outputcompress),URL重寫,Alias等重要功能。

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

  • 瀏覽器查找域名相對(duì)應(yīng)的IP地址,當(dāng)然瀏覽器會(huì)先在自身DNS緩存記錄中查找有無該地址的映射。如果沒有找到,便會(huì)去系統(tǒng)緩存中尋找有無這個(gè)記錄,沒有的話,再到路由器中查找,還沒有的話再到ISP服務(wù)商的DNS緩存中查找,最后沒有則將從頂級(jí)域名服務(wù)器的根服務(wù)器開始遞歸查詢,一層一層的查找DNS,知道找到對(duì)應(yīng)的IP。
  • 瀏覽器將請(qǐng)求發(fā)給Nginx,Nginx響應(yīng)之后根據(jù)用戶需求,通過PHP應(yīng)用處理程序進(jìn)行處理,若設(shè)計(jì)到用戶登錄及數(shù)據(jù)的增刪改查,PHP會(huì)與數(shù)據(jù)庫MySQL進(jìn)行交互,最后服務(wù)器會(huì)返回一個(gè)靜態(tài)的html文檔。

  • 服務(wù)器將靜態(tài)的HTML文檔發(fā)送到客戶端(瀏覽器)

  • 瀏覽器收到服務(wù)器響應(yīng)后,開始下載HTML代碼,通過解析和渲染,呈現(xiàn)出網(wǎng)頁的頁面。
  • 瀏覽器的下載順序和渲染順序都是從上到下,下載和渲染同時(shí)進(jìn)行
    • 解析html代碼,生成DOM樹。
    • 解析html中的CSS生成CSSOM樹,把DOM CSSOM組合成渲染樹
    • 在渲染樹的基礎(chǔ)上布局,計(jì)算每個(gè)節(jié)點(diǎn)的幾何結(jié)構(gòu),把每個(gè)節(jié)點(diǎn)繪制到屏幕上。
    • 解析JavaScript,解析到的時(shí)候執(zhí)行。
    • 遇到關(guān)聯(lián)資源圖片、視頻等元素時(shí)需要另外并行下載,同一域名下并行下載數(shù)量有限,通常是把資源放置在不同的域名下。

本文版權(quán)歸本人和饑人谷所有,轉(zhuǎn)載請(qǐng)注明來源。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. 簡(jiǎn)單描述下web 服務(wù)器、PHP、數(shù)據(jù)庫、瀏覽器是如何實(shí)現(xiàn)動(dòng)態(tài)網(wǎng)站的? 用戶端訪問服務(wù)端的HTML文件 用戶...
    GarenWang閱讀 427評(píng)論 0 0
  • 動(dòng)手題 1.學(xué)習(xí) xampp或者wamp 的簡(jiǎn)單配置使用,在本地啟動(dòng) web 服務(wù)器,通過瀏覽器訪問,通過瀏覽器打...
    鴻鵠飛天閱讀 298評(píng)論 0 0
  • 問答題:簡(jiǎn)單描述下web 服務(wù)器、PHP、數(shù)據(jù)庫、瀏覽器是如何實(shí)現(xiàn)動(dòng)態(tài)網(wǎng)站的? 客戶端(瀏覽器)根據(jù)用戶輸入的UR...
    饑人谷_姜瓊君閱讀 329評(píng)論 0 0
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,506評(píng)論 19 139
  • 動(dòng)手 學(xué)習(xí) xampp或者wamp 的簡(jiǎn)單配置使用,在本地啟動(dòng) web 服務(wù)器,通過瀏覽器訪問,通過瀏覽器打開本地...
    GarenWang閱讀 309評(píng)論 0 0

友情鏈接更多精彩內(nèi)容