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

動手

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

問題

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

  • 瀏覽器訪問服務(wù)器端的html文件:
    通過DNS服務(wù)器解析出相應(yīng)的Web服務(wù)器的IP地址。
    通過HTTP協(xié)議連接上述的服務(wù)器系統(tǒng),請求相應(yīng)目錄下的html文件。
    服務(wù)器接收到請求后,找到并打開相應(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地址。
    與請求html靜態(tài)頁面類似,不過最終請求的是php文件。
    由于Apache服務(wù)器本身不能處理php動態(tài)語言腳本,所以Apache服務(wù)器將用戶請求訪問的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文件一樣,請求訪問Apache服務(wù)器上相應(yīng)目錄下的php文件。
    與上面訪問php文件一樣,PHP應(yīng)用服務(wù)器接收到相應(yīng)的php文件。
    PHP應(yīng)用服務(wù)器打開php文件,在php文件中通過執(zhí)行標準的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的特點具有:安全性、強大、靈活。
  • Tomcat:由Apache、Sun和其他一些公司及個人共同開發(fā)而成。Tomcat技術(shù)先進、性能穩(wěn)定,而且免費,因而深受Java愛好者的喜愛并得到了部分軟件開發(fā)者的認可,成為目前比較流行的Web應(yīng)用服務(wù)器。
  • Zeus:是一個運行于Unix下的非誠優(yōu)秀的Web服務(wù)器,據(jù)說性能超過Apache,是效率最高的Web服務(wù)器之一。
  • Nginx:不僅是一個小巧且高效的HTTP服務(wù)器,也可以做一個高效的負載均衡反向代理,通過它接受用戶的請求并分發(fā)到多個
    Mongrel進程可以極大提高Rails應(yīng)用的并發(fā)能力。
  • Apache:是世界排名第一的Web服務(wù)器軟件。它幾乎可以運行在所有的計算機平臺上。由于Apache是開源免費的,因此有很多人參與到新功能的開發(fā)設(shè)計,不斷對其 進行完善。Apache的特點是簡單、速度快、性能穩(wěn)定,并可做代理服務(wù)器來使用。
  • Lighttpd:它是由得國人JanKneschke領(lǐng)導開發(fā)的,基于BSD許可的開源WEB服務(wù)器軟件,其根本的目的是提供一個專門針對高性能網(wǎng)站,安全、快速、兼容性好并且靈活的webserver環(huán)境。具有非常低的內(nèi)存開銷,CPU占用率低,效能好,以及豐富的模塊等特點。支持FastCGI,CGI,Auth,輸出壓縮(outputcompress),URL重寫,Alias等重要功能。

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

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

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

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

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

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

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

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

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