動態(tài)網(wǎng)站訪問流程

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

  • 用戶通過瀏覽器輸入要訪問的url
  • 瀏覽器查找域名對應的IP地址该溯。(域名解析)
  • 瀏覽器查找到對應主機IP地址后岛抄,與對應主機的web服務器建立連接,通過HTTP協(xié)議(超文本傳輸協(xié)議)向web服務器發(fā)送請求狈茉,請求服務器上相應目錄下的文件
  • web服務器收到請求后夫椭,在他的管理目錄中找到相應文件。如果用戶請求的是html文件氯庆,則web服務器找到對應html文件后蹭秋,打開html文件,并將html代碼響應給客戶端堤撵。
    若用戶請求的是php文件仁讨,則web服務器將找到的php文件交給PHP應用服務器處理(web服務器本身不處理php動態(tài)文件)。
  • PHP應用服務器接收并打開文件php文件实昨,在php文件中通過對數(shù)據(jù)庫連接的代碼來連接本機或者網(wǎng)絡上其他機器上的數(shù)據(jù)庫洞豁,并在php程序中通過執(zhí)行標準的SQL查詢語句來獲取數(shù)據(jù)庫中的數(shù)據(jù),再通過PHP應用服務器將數(shù)據(jù)生成html靜態(tài)代碼荒给,并將html靜態(tài)代碼交還給web服務器丈挟,web服務器將接收到的html靜態(tài)代碼輸出到客戶端瀏覽器
  • 瀏覽器收到web服務器的響應后,接收并下載服務器端的html靜態(tài)代碼志电,然后瀏覽器解析代碼曙咽,最終將網(wǎng)頁呈現(xiàn)出來。

域名解析過程如下:

  1. 瀏覽器緩存
    瀏覽器會緩存DNS記錄一段時間挑辆。有趣的是例朱,操作系統(tǒng)沒有告訴瀏覽器儲存DNS記錄的時間,這樣不同瀏覽器會儲存?zhèn)€自固定的時間(2分鐘到30分鐘不等)之拨。
  2. 系統(tǒng)緩存
    如果在瀏覽器緩存里沒有找到需要的記錄茉继,瀏覽器會做一個系統(tǒng)調(diào)用。操作系統(tǒng)檢查自己本地的hosts文件是否有這個網(wǎng)址映射關系蚀乔,如果有烁竭,就先調(diào)用這個IP地址映射,完成域名解析吉挣。
  3. 路由器緩存
    如果hosts里沒有這個映射派撕,則將查詢請求發(fā)向路由器,他一般會有自己的DNS緩存睬魂,如果緩存中有這個網(wǎng)址的映射關系终吼,則直接返回,完成域名解析氯哮。
  4. ISP DNS(本地DNS服務器)將請求發(fā)至根域名服務器际跪,
    如果上述緩存都沒有相應的網(wǎng)址映射關系,首先會找TCP/IP參數(shù)中設置的首選DNS服務器(ISP的DNS),在此我們叫它本地DNS服務器姆打,此服務器收到查詢時良姆,如果要查詢的域名包含在本地配置區(qū)域資源中,則返回解析結果幔戏,完成域名解析玛追。
    如果要查詢的域名不由本地DNS服務器區(qū)域解析,但該服務器緩存了此網(wǎng)址映射關系闲延,則調(diào)用這個IP地址映射痊剖,完成域名解析。
  5. 遞歸搜索
    如果本地DNS服務器解析失敗垒玲,則將請求發(fā)送至根DNS服務器陆馁,從根DNS服務器開始進行遞歸搜索。根DNS服務器收到請求后會判斷這個域名(.com)是由誰來授權管理侍匙,并會返回一個負責該頂級域名服務器的一個IP氮惯。本地DNS服務器收到IP信息后,將會聯(lián)系負責.com域的這臺服務器想暗,這臺負責.com域的服務器收到請求后,如果自己無法解析帘不,就會找一個管理.com域的下一級DNS服務器地址給本地域名服務器说莫。當本地DNS服務器收到這個地址后,就會通過地址找這個域服務器寞焙,重復上面的動作储狭,進行查詢,直至找到對應主機捣郊,最終將結果返回給本地DNS服務器辽狈,由此DNS服務器再返回給客戶機。

2.常見的web服務器有哪些呛牲?

  • IIS
    IIS(Internet信息服務)英文Internet Information Server的縮寫刮萌。它是微軟公司主推的服務器。
  • Apache
    Apache是世界使用排名第一的Web服務器軟件娘扩。它幾乎可以運行在所有的計算機平臺上着茸。由于Apache是開源免費的,因此有很多人參與到新功能的開發(fā)設計琐旁,不斷對其進行完善涮阔。Apache的特點是簡單、速度快灰殴、性能穩(wěn)定敬特,并且可以做代理服務器來使用
  • Nginx
    Nginx不僅是一個小巧且高效的HTTP服務器,也可以做一個搞笑的負載均衡反向代理,通過它接受用戶的請求并分發(fā)到多個Mongrel進程可以極大提高Rails應用的并發(fā)能力
  • Tomcat
    Tomcat是Apache軟件基金會(Apache Software Foundation)的Jakarta項目中的一個核心項目伟阔,有Apache辣之、Sun和其他一些公司及個人共同開發(fā)而成。Tomcat技術先進减俏、性能穩(wěn)定召烂,而且免費,因而深受Java愛好者的喜愛娃承,并得到了部分軟件開發(fā)商的認可奏夫,成為目前比較流行的Web應用服務器
  • Lighttpd
    Lighttpd是由德國人Jan Kneschke領導開發(fā)的,基于BSD許可的開源Web服務器軟件历筝,其根本目的是提供一個專門針對高性能網(wǎng)站酗昼,安全、快速梳猪、兼容性好并且靈活的web server環(huán)境麻削。具有非常低的內(nèi)存開銷,CPU占用率低春弥,效能好呛哟,以及豐富的模塊等特點。支持FastCGI匿沛、CGI扫责、Auth、輸出壓縮(output compress)逃呼、URL重寫鳖孤、Alias等重要功能
  • Zeus
    Zeus是一個運行于Unix下的非常優(yōu)秀的Web服務器,據(jù)說性能超過Apache抡笼,是效率最高的Web服務器之一

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

  • 用戶在瀏覽器中輸入http://jirengu.com
  • 瀏覽器通過DNS服務器查找域名對應的IP地址
  • 瀏覽器通過TCP/IP協(xié)議與對應IP地址的nginx服務器建立連接拾碌,通過HTTP協(xié)議向nginx服務器請求相應資源
  • nginx服務器收到請求后吐葱,在相應目錄下尋找對應php文件,并將對應php文件交由php應用服務器處理
  • php應用服務器接收php文件并打開校翔,根據(jù)php文件內(nèi)對數(shù)據(jù)庫連接的代碼來連mysql接數(shù)據(jù)庫弟跑,并根據(jù)php文件中的mysql數(shù)據(jù)庫操作代碼從mysql數(shù)據(jù)庫中獲取數(shù)據(jù),再將數(shù)據(jù)生成html靜態(tài)代碼并交還給nginx服務器
  • nginx服務器將接收到的html靜態(tài)代碼響應給客戶端瀏覽器
  • 瀏覽器收到nginx服務器的響應后防症,接收并下載服務器端的html靜態(tài)代碼孟辑,然后對html靜態(tài)代碼進行解析哎甲,最后將頁面渲染出來

參考:
動態(tài)網(wǎng)站訪問流程
從 url 輸入到 dns 解析


本文版權屬吳天喬所有,轉(zhuǎn)載務必注明出處饲嗽。

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末炭玫,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子貌虾,更是在濱河造成了極大的恐慌吞加,老刑警劉巖,帶你破解...
    沈念sama閱讀 210,835評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件尽狠,死亡現(xiàn)場離奇詭異衔憨,居然都是意外死亡,警方通過查閱死者的電腦和手機袄膏,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,900評論 2 383
  • 文/潘曉璐 我一進店門践图,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人沉馆,你說我怎么就攤上這事码党。” “怎么了斥黑?”我有些...
    開封第一講書人閱讀 156,481評論 0 345
  • 文/不壞的土叔 我叫張陵揖盘,是天一觀的道長。 經(jīng)常有香客問我锌奴,道長扣讼,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,303評論 1 282
  • 正文 為了忘掉前任缨叫,我火速辦了婚禮,結果婚禮上荔燎,老公的妹妹穿的比我還像新娘耻姥。我一直安慰自己,他們只是感情好有咨,可當我...
    茶點故事閱讀 65,375評論 5 384
  • 文/花漫 我一把揭開白布琐簇。 她就那樣靜靜地躺著,像睡著了一般座享。 火紅的嫁衣襯著肌膚如雪婉商。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,729評論 1 289
  • 那天渣叛,我揣著相機與錄音丈秩,去河邊找鬼。 笑死淳衙,一個胖子當著我的面吹牛蘑秽,可吹牛的內(nèi)容都是我干的饺著。 我是一名探鬼主播,決...
    沈念sama閱讀 38,877評論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼肠牲,長吁一口氣:“原來是場噩夢啊……” “哼幼衰!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起缀雳,我...
    開封第一講書人閱讀 37,633評論 0 266
  • 序言:老撾萬榮一對情侶失蹤渡嚣,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后肥印,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體识椰,經(jīng)...
    沈念sama閱讀 44,088評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,443評論 2 326
  • 正文 我和宋清朗相戀三年竖独,在試婚紗的時候發(fā)現(xiàn)自己被綠了裤唠。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,563評論 1 339
  • 序言:一個原本活蹦亂跳的男人離奇死亡莹痢,死狀恐怖种蘸,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情竞膳,我是刑警寧澤航瞭,帶...
    沈念sama閱讀 34,251評論 4 328
  • 正文 年R本政府宣布,位于F島的核電站坦辟,受9級特大地震影響刊侯,放射性物質(zhì)發(fā)生泄漏鲁纠。R本人自食惡果不足惜侈百,卻給世界環(huán)境...
    茶點故事閱讀 39,827評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望本刽。 院中可真熱鬧挪蹭,春花似錦亭饵、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,712評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至词顾,卻和暖如春八秃,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背肉盹。 一陣腳步聲響...
    開封第一講書人閱讀 31,943評論 1 264
  • 我被黑心中介騙來泰國打工昔驱, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人垮媒。 一個月前我還...
    沈念sama閱讀 46,240評論 2 360
  • 正文 我出身青樓舍悯,卻偏偏與公主長得像航棱,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子萌衬,可洞房花燭夜當晚...
    茶點故事閱讀 43,435評論 2 348

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