熟悉后端語(yǔ)言-Assignment

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

  • 客戶端輸入U(xiǎn)RL,DNS解析URL成IP地址
    用戶在客戶端(瀏覽器)的地址欄輸入訪問資源所在的URL攒磨,然后本機(jī)(客戶機(jī))根據(jù)DNS特定的工作模式將URL解析成IP地址泳桦,從而通過IP地址尋址到對(duì)應(yīng)的服務(wù)器

  • 客戶機(jī)通過TCP/IP協(xié)議建立到服務(wù)器的TCP連接

  • 客戶端向服務(wù)器發(fā)送HTTP協(xié)議請(qǐng)求包,請(qǐng)求服務(wù)器里的資源文檔

  • Web服務(wù)器向客戶機(jī)發(fā)送HTTP協(xié)議響應(yīng)包

    • 如果請(qǐng)求的資源是html文檔娩缰,則Web服務(wù)器在受到用戶訪問請(qǐng)求后灸撰,在它管理的文檔目錄中找到并打開相應(yīng)的html文件(如index.htm),將文件內(nèi)容響應(yīng)給客戶端瀏覽器

    • 如果請(qǐng)求的資源是php文件,那么Web服務(wù)器本身不能處理php動(dòng)態(tài)語(yǔ)言腳本文件浮毯,就尋找并委托PHP應(yīng)用服務(wù)器——將用戶請(qǐng)求訪問的php文件(如index.php)文件交給PHP應(yīng)用服務(wù)器來(lái)處理完疫;
      php應(yīng)用服務(wù)器接收php文件,打開并解釋php文件并最終翻譯成html靜態(tài)代碼债蓝,再講html靜態(tài)代碼交還給Web服務(wù)器壳鹤,Web服務(wù)器將接收到的html靜態(tài)代碼發(fā)送到客戶端

    • 如果請(qǐng)求的資源是訪問數(shù)據(jù)庫(kù),那么Web服務(wù)器通過php應(yīng)用服務(wù)器間接訪問數(shù)據(jù)庫(kù)饰迹;
      PHP應(yīng)用服務(wù)器打開php文件芳誓,在php文件中通過對(duì)數(shù)據(jù)庫(kù)連接的代碼來(lái)連接本機(jī)或者網(wǎng)絡(luò)上其他機(jī)器上的數(shù)據(jù)庫(kù),并在php程序中通過執(zhí)行標(biāo)準(zhǔn)的SQL查詢語(yǔ)句來(lái)獲取數(shù)據(jù)庫(kù)中的數(shù)據(jù)啊鸭,再通過PHP應(yīng)用服務(wù)器將數(shù)據(jù)生成html靜態(tài)代碼锹淌;
      再將html靜態(tài)代碼交還給Web服務(wù)器,最后響應(yīng)請(qǐng)求

  • 客戶端加載并解析文檔
    由客戶端解釋HTML文檔赠制,在客戶端屏幕上渲染圖形結(jié)果赂摆,最終實(shí)現(xiàn)網(wǎng)頁(yè)在客戶端的呈現(xiàn)

  • 客戶機(jī)與服務(wù)器斷開
    需要注意的是客戶機(jī)與服務(wù)器之間的通信是非持久連接的,也就是當(dāng)服務(wù)器發(fā)送了應(yīng)答后就與客戶機(jī)斷開連接钟些,等待下一次請(qǐng)求

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

  • Apache服務(wù)器
    Apache HTTP Server(簡(jiǎn)稱Apache)是Apache軟件基金會(huì)的一個(gè)開放源代碼的網(wǎng)頁(yè)服務(wù)器軟件,可以在大多數(shù)電腦操作系統(tǒng)中運(yùn)行厘唾,由于其跨平臺(tái)和安全性被廣泛使用褥符,是最流行的Web服務(wù)器軟件之一。
    它快速抚垃、可靠并且可通過簡(jiǎn)單的API擴(kuò)充喷楣,將Perl、Python等解釋器編譯到服務(wù)器中鹤树。

  • Nginx服務(wù)器
    Nginx(發(fā)音同engine x)是一個(gè)網(wǎng)頁(yè)服務(wù)器铣焊,它能反向代理HTTP, HTTPS, SMTP, POP3, IMAP的協(xié)議鏈接,以及一個(gè)負(fù)載均衡器和一個(gè)HTTP緩存罕伯。
    Nginx是一款面向性能設(shè)計(jì)的HTTP服務(wù)器曲伊,相較于Apache具有占有內(nèi)存少,穩(wěn)定性高等優(yōu)勢(shì)追他。與舊版本(<=2.2)的Apache不同坟募,并發(fā)服務(wù)能力更強(qiáng)。整體采用模塊化設(shè)計(jì)邑狸,有豐富的模塊庫(kù)和第三方模塊庫(kù)懈糯,配置靈活。

  • IIS服務(wù)器
    IIS是Internet Information Server的縮寫单雾。它是微軟公司主推的服務(wù)器赚哗。IIS的特點(diǎn)具有:安全性她紫,強(qiáng)大,靈活

  • Lighttpd服務(wù)器
    Lighttpd是一個(gè)德國(guó)人領(lǐng)導(dǎo)的開源Web服務(wù)器軟件,具有非常低的內(nèi)存開銷屿储、cpu占用率低贿讹、效能好以及豐富的模塊等特點(diǎn)。Lighttpd是眾多OpenSource輕量級(jí)的web server中較為優(yōu)秀的一個(gè)够掠。支持FastCGI民褂,CGI,Auth祖屏,輸出壓縮(output compress)助赞,URL重寫,Alias等重要功能

  • Tomcat服務(wù)器
    Tomcat是Apache軟件基金會(huì)的Jakarta項(xiàng)目中的一個(gè)核心項(xiàng)目袁勺,由Apache雹食、Sun和其他一些公司及個(gè)人共同開發(fā)而成。Tomcat技術(shù)先進(jìn)期丰、性能穩(wěn)定群叶,而且免費(fèi),因而深受Java愛好者的喜愛并得到了部分軟件開發(fā)商的認(rèn)可钝荡,成為目前比較流行的Web應(yīng)用服務(wù)器

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

  • 瀏覽器地址欄輸入U(xiǎn)RL,DNS將URL解析成所訪問nginx服務(wù)器所在的IP地址端辱,通過IP地址在Internet上尋址到對(duì)應(yīng)的nginx服務(wù)器
URL
IP地址
  • 客戶端打包http請(qǐng)求
    請(qǐng)求報(bào)文結(jié)構(gòu)包括請(qǐng)求行(Request line)梁剔、請(qǐng)求頭(Request header)、空行和請(qǐng)求體(body)
    • 請(qǐng)求行規(guī)定請(qǐng)求的方法(GET舞蔽、POST荣病、PUT、DELETE等)渗柿,資源路徑个盆,HTTP協(xié)議/協(xié)議版本
    • 請(qǐng)求頭規(guī)定客戶端的基本信息,包括Host(Web服務(wù)器的主機(jī)名)朵栖、連接方式颊亮、緩存控制、客戶端能接收的mine陨溅、瀏覽器版本终惑、是否支持流壓縮、客戶端字符編碼集声登、cookie等
    • 空行,用于分割請(qǐng)求頭和消息體
    • 消息體,請(qǐng)求資源參數(shù),例如POST傳遞的參數(shù)
請(qǐng)求報(bào)文
  • 客戶機(jī)通過TCP/IP協(xié)議建立到服務(wù)器的TCP連接

  • 客戶端向nginx服務(wù)器發(fā)送HTTP協(xié)議請(qǐng)求包狠鸳,請(qǐng)求服務(wù)器里的資源文檔
    根據(jù)反饋信息顯示,向nginx服務(wù)器請(qǐng)求www.jirengu.com的資源文檔包含45個(gè)悯嗓,涉及html文檔及其關(guān)聯(lián)資源(css文件件舵、js文件、php文件脯厨、圖片文件和字體文件等)

  • Web服務(wù)器向客戶機(jī)發(fā)送HTTP協(xié)議響應(yīng)包
    對(duì)于從客戶端發(fā)送過來(lái)的請(qǐng)求包铅祸,Web服務(wù)器根據(jù)資源的類型分別處理:
    • 對(duì)于html文檔,nginx服務(wù)器會(huì)在它管理的文檔目錄下找到并打開相應(yīng)的html文檔合武,將文件響應(yīng)給客戶端
    • 對(duì)于php文件临梗,nginx服務(wù)器會(huì)委托phph應(yīng)用服務(wù)器去處理php文件并最終以html靜態(tài)代碼的形式交還給nginx服務(wù)器,nginx服務(wù)器將接收到的靜態(tài)代碼發(fā)送到客戶端(這里的靜態(tài)代碼是和前面的html文檔有關(guān)聯(lián)的組成部分而不是兩個(gè)頁(yè)面)
    • 對(duì)于例如注冊(cè)或登錄等表單提交操作稼跳,涉及前后端的數(shù)據(jù)交換盟庞,則會(huì)訪問mysql數(shù)據(jù)庫(kù),那么nginx服務(wù)通過php應(yīng)用服務(wù)器對(duì)php文件的處理汤善,間接操作數(shù)據(jù)庫(kù)什猖,從而最終生成一個(gè)包含數(shù)據(jù)庫(kù)信息的html靜態(tài)代碼(同樣,這里的靜態(tài)代碼是和前面的html文檔有關(guān)聯(lián)的組成部分而不是兩個(gè)頁(yè)面)

這里稍微簡(jiǎn)單介紹一下響應(yīng)報(bào)文:
響應(yīng)報(bào)文由狀態(tài)行红淡、消息頭不狮、空行和消息體組成
狀態(tài)行:HTTP協(xié)議版本號(hào), 狀態(tài)碼在旱, 狀態(tài)消息 三部分組成摇零;

消息頭:包括響應(yīng)的基本信息,如服務(wù)器使用的WEB軟件名及版本桶蝎、發(fā)送時(shí)間驻仅、服務(wù)器發(fā)送信息的類型、發(fā)送HTTP包是分段發(fā)俊嗽、的雾家、保持連接狀態(tài)等

空行:用來(lái)分科消息頭和消息體

消息體:響應(yīng)的資源

響應(yīng)報(bào)文
  • 客戶端加載并解析文檔
    由客戶端解釋HTML文檔,在客戶端屏幕上渲染圖形結(jié)果绍豁,最終實(shí)現(xiàn)網(wǎng)頁(yè)在客戶端的呈現(xiàn)

【注】
這里涉及瀏覽器的渲染原理芯咧,將作為獨(dú)立知識(shí)點(diǎn)予以講解,這里暫時(shí)不涉及竹揍。

  • 客戶機(jī)與服務(wù)器斷開連接

實(shí)戰(zhàn)篇

1.基于xampp搭建Web服務(wù)器和完成相關(guān)配置
  • xampp的安裝和環(huán)境搭建
    安裝好xampp后敬飒,啟動(dòng)Web服務(wù)器和數(shù)據(jù)庫(kù)服務(wù)器,但是默認(rèn)端口已被占用芬位,所以修改端口號(hào)


  • 通過瀏覽器訪問Web服務(wù)器上的php文件
    Web服務(wù)器的根目錄在htdocs文件夾无拗,所以根據(jù)文件路徑訪問test.php

2.利用新浪云上傳代碼

由于實(shí)際操作時(shí)認(rèn)證失敗,試了許多方法仍未找出問題所在昧碉,所以為了不落下進(jìn)度英染,這道題暫且擱置揽惹。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市四康,隨后出現(xiàn)的幾起案子搪搏,更是在濱河造成了極大的恐慌,老刑警劉巖闪金,帶你破解...
    沈念sama閱讀 217,907評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件疯溺,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡哎垦,警方通過查閱死者的電腦和手機(jī)囱嫩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)漏设,“玉大人墨闲,你說(shuō)我怎么就攤上這事≈?冢” “怎么了损俭?”我有些...
    開封第一講書人閱讀 164,298評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)潘酗。 經(jīng)常有香客問我杆兵,道長(zhǎng),這世上最難降的妖魔是什么仔夺? 我笑而不...
    開封第一講書人閱讀 58,586評(píng)論 1 293
  • 正文 為了忘掉前任琐脏,我火速辦了婚禮,結(jié)果婚禮上日裙,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,633評(píng)論 6 392
  • 文/花漫 我一把揭開白布伟姐。 她就那樣靜靜地躺著鹿霸,像睡著了一般杜跷。 火紅的嫁衣襯著肌膚如雪双藕。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,488評(píng)論 1 302
  • 那天叶堆,我揣著相機(jī)與錄音沥匈,去河邊找鬼畦粮。 笑死爪飘,一個(gè)胖子當(dāng)著我的面吹牛椅棺,可吹牛的內(nèi)容都是我干的床估。 我是一名探鬼主播含滴,決...
    沈念sama閱讀 40,275評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼丐巫!你這毒婦竟也來(lái)了谈况?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,176評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤递胧,失蹤者是張志新(化名)和其女友劉穎碑韵,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體缎脾,經(jīng)...
    沈念sama閱讀 45,619評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡祝闻,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,819評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了遗菠。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片联喘。...
    茶點(diǎn)故事閱讀 39,932評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖辙纬,靈堂內(nèi)的尸體忽然破棺而出豁遭,到底是詐尸還是另有隱情,我是刑警寧澤贺拣,帶...
    沈念sama閱讀 35,655評(píng)論 5 346
  • 正文 年R本政府宣布堤框,位于F島的核電站,受9級(jí)特大地震影響纵柿,放射性物質(zhì)發(fā)生泄漏蜈抓。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,265評(píng)論 3 329
  • 文/蒙蒙 一昂儒、第九天 我趴在偏房一處隱蔽的房頂上張望沟使。 院中可真熱鬧,春花似錦渊跋、人聲如沸腊嗡。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)燕少。三九已至,卻和暖如春蒿囤,著一層夾襖步出監(jiān)牢的瞬間客们,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留底挫,地道東北人恒傻。 一個(gè)月前我還...
    沈念sama閱讀 48,095評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像建邓,于是被迫代替她去往敵國(guó)和親盈厘。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,884評(píng)論 2 354

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

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理官边,服務(wù)發(fā)現(xiàn)沸手,斷路器,智...
    卡卡羅2017閱讀 134,656評(píng)論 18 139
  • 第一章 Nginx簡(jiǎn)介 Nginx是什么 沒有聽過Nginx注簿?那么一定聽過它的“同行”Apache吧契吉!Ngi...
    JokerW閱讀 32,676評(píng)論 24 1,002
  • 1.初學(xué)者在本地安裝 Apache 與 PHP。安裝 xampp 套件即可滩援。XAMPP 里面包含 Apache 和...
    泰格_R閱讀 365評(píng)論 0 0
  • 1. 簡(jiǎn)單描述下web 服務(wù)器、PHP塔嬉、數(shù)據(jù)庫(kù)玩徊、瀏覽器是如何實(shí)現(xiàn)動(dòng)態(tài)網(wǎng)站的? 用戶端訪問服務(wù)端的HTML文件 用戶...
    GarenWang閱讀 374評(píng)論 0 0
  • 0 系列目錄# WEB請(qǐng)求處理 WEB請(qǐng)求處理一:瀏覽器請(qǐng)求發(fā)起處理 WEB請(qǐng)求處理二:Nginx請(qǐng)求反向代理 本...
    七寸知架構(gòu)閱讀 13,960評(píng)論 22 190