web服务器的原理
一、Web簡(jiǎn)介
Web系統(tǒng)由客戶端(瀏覽器)和服務(wù)器端兩部分組成。Web系統(tǒng)架構(gòu)也被稱為B/S架構(gòu)。最常見的Web服務(wù)器有Apache、IIS等,常用的瀏覽器有IE、Firefox、chrome等。當(dāng)你想訪問一個(gè)網(wǎng)頁時(shí),需要在瀏覽器的地址欄中輸入該網(wǎng)頁的URL(Uniform?Resource?Locator,簡(jiǎn)稱為URL)地址,或者是通過超鏈接鏈接到該網(wǎng)頁。瀏覽器會(huì)向該網(wǎng)頁所在的服務(wù)器發(fā)送一個(gè)HTTP請(qǐng)求,服務(wù)器會(huì)對(duì)接收到的請(qǐng)求信息進(jìn)行處理,然后將處理的結(jié)果返回給瀏覽器,最終將瀏覽器處理后的結(jié)果呈現(xiàn)給用戶。
二、Web服務(wù)器工作原理
Web服務(wù)器工作分為四步,建立連接,請(qǐng)求,應(yīng)答,關(guān)閉連接。
①、客戶端發(fā)送請(qǐng)求
客戶端通過瀏覽器和Web服務(wù)器建立TCP連接,連接建立以后,向Web服務(wù)器發(fā)出訪問請(qǐng)求,根據(jù)HTTP協(xié)議,該請(qǐng)求中包含了客戶端的IP地址、瀏覽器的類型和請(qǐng)求的URL等一系列信息。
②、服務(wù)器解析請(qǐng)求
Web服務(wù)器對(duì)請(qǐng)求按照HTTP協(xié)議進(jìn)行解碼來確定進(jìn)一步的動(dòng)作,設(shè)計(jì)的內(nèi)容有三鼐要點(diǎn):方法(GET)、文檔(/sample.html)、和瀏覽器使用的協(xié)議(HTTP/1.1)其中方法告訴服務(wù)器應(yīng)完動(dòng)的動(dòng)作,GET方法的含義很明顯是:服務(wù)器應(yīng)定位、讀取文件并將它返回給客戶。它應(yīng)該找到文件/sample.html,并使用HTTP/1.1協(xié)議將內(nèi)存返回給客戶。信息是經(jīng)過與請(qǐng)求到來相同的連接發(fā)出的,所以服務(wù)器不需要定們客戶或創(chuàng)建新的連接。
③、完成請(qǐng)求
若現(xiàn)在沒有錯(cuò)誤出現(xiàn),WWW服務(wù)器將執(zhí)行請(qǐng)求所要求的動(dòng)作。要獲取一個(gè)文檔,web服務(wù)器在其文檔樹中搜索請(qǐng)求的文件(/sample.html)。這是由服務(wù)器機(jī)器上作為操作系統(tǒng)一部分的文件系統(tǒng)完成的。若文件能找到并可正常讀取,則服務(wù)器將把它返回給客戶。
如果失敗:返回錯(cuò)誤指示。
如果請(qǐng)求的文件沒有找到或找到但無法讀取,測(cè)請(qǐng)求無法滿足。最常見的問題是請(qǐng)求中的文件名拼寫有誤,所以服務(wù)器無法找到該文件。這種情況下,服務(wù)器將發(fā)送一個(gè)狀態(tài)碼---404?給客戶。
④、關(guān)閉連接
當(dāng)文件已被發(fā)郵或錯(cuò)誤已發(fā)出后,Web服務(wù)器結(jié)束整個(gè)會(huì)話。它關(guān)閉打開的的被請(qǐng)求文件,關(guān)閉網(wǎng)絡(luò)端口從而結(jié)束網(wǎng)絡(luò)連接。有關(guān)的其它工作則是由客戶端來完成的,包括接收數(shù)據(jù),并以用戶可讀的方式呈現(xiàn)出來。這些與服務(wù)器無關(guān)。
三、參考代碼,建立服務(wù)器
?
?
出現(xiàn)空指針錯(cuò)誤
?
轉(zhuǎn)載于:https://www.cnblogs.com/lzc396732672/p/10534488.html
與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖總結(jié)
- 上一篇: 转发:CentOS下tar压缩排除某个文
- 下一篇: [Hadoop] 启动HDFS缺少服务