Web服務(wù)器是一種駐留在因特網(wǎng)上的計算機(jī)程序,主要功能是存儲、處理和傳遞網(wǎng)頁給請求的客戶端,通常傳遞的內(nèi)容包含HTML文檔、圖像、樣式表或腳本等。
Web服務(wù)器也稱為WWW(World Wide Web)服務(wù)器,其核心功能是提供網(wǎng)頁信息瀏覽服務(wù),具體如下:
1、基本概念
定義:Web服務(wù)器一般指網(wǎng)站服務(wù)器,是因特網(wǎng)上的一種計算機(jī)程序,向請求終端提供服務(wù)。
別名:也稱為WWW(World Wide Web)服務(wù)器。
主要功能:提供網(wǎng)頁信息瀏覽服務(wù),嚴(yán)格來說只負(fù)責(zé)處理HTTP協(xié)議請求并發(fā)送靜態(tài)頁面內(nèi)容。
2、工作原理
連接建立:通過TCP協(xié)議的三次握手與目標(biāo)Web服務(wù)器建立連接。
HTTP請求:用戶代理發(fā)起資源請求,通常是URL和動作類型如GET/POST等。
DNS解析:用戶代理解析URL獲取目標(biāo)域名并交由DNS進(jìn)行解析。
TCP鏈接:建立TCP鏈接并完成HTTP協(xié)商,包括協(xié)議、內(nèi)容格式和加密方式。
數(shù)據(jù)包處理:服務(wù)器接收到資源請求后按照協(xié)商解包數(shù)據(jù),并將用戶需要的內(nèi)容打包成HTTP數(shù)據(jù)包返回給用戶。
3、主流Web服務(wù)器軟件
Apache:市場占有率較高,在前1K網(wǎng)站排名中占有率最高。
Nginx:在前1K網(wǎng)站排名中占有率最高。
IIS:由Microsoft開發(fā),也是主流的Web服務(wù)器之一。
4、應(yīng)用層HTTP協(xié)議
建立連接:通過申請Socket套接字實現(xiàn),客戶端將請求發(fā)送到服務(wù)器監(jiān)聽端口上。
發(fā)送請求:客戶端將請求發(fā)送到服務(wù)器的監(jiān)聽端口上完成一次請求動作。
發(fā)送響應(yīng):服務(wù)器監(jiān)聽請求并處理之后將響應(yīng)內(nèi)容消息發(fā)回客戶端。
關(guān)閉連接:客戶端和服務(wù)器雙方關(guān)閉Socket結(jié)束TCP/IP會話。
5、傳輸層TCP協(xié)議
服務(wù)器綁定端口:服務(wù)器綁定并監(jiān)聽端口,等待客戶端的請求。
客戶端請求:客戶端發(fā)動請求,服務(wù)器響應(yīng)連接請求并建立連接。
數(shù)據(jù)交互:完成數(shù)據(jù)接收或發(fā)送,最終關(guān)閉通信結(jié)束會話。
6、服務(wù)器端工作原理
預(yù)處理:服務(wù)器從TCP報文中獲取HTTP請求,依據(jù)雙方協(xié)商解密解包等步驟進(jìn)行安全處理。
靜態(tài)資源處理:檢索靜態(tài)資源如HTML、JS、CSS、圖片、視頻等,內(nèi)容通常為字符流或字節(jié)流。
動態(tài)資源處理:運(yùn)行業(yè)務(wù)邏輯處理,根據(jù)不同條件返回不同的內(nèi)容。
后處理:與預(yù)處理類似,進(jìn)行發(fā)送響應(yīng)信息前的準(zhǔn)備流程。
資源輸出:把響應(yīng)信息封裝成HTTP報文扔到TCP中。
7、Web服務(wù)器優(yōu)勢
互動:提供與托管服務(wù)提供商交互的機(jī)會,方便用戶了解背后的機(jī)制。
配置:日志文件易于配置,便于分析操作系統(tǒng)中的操作和Web流量。
靈活性:相比集群網(wǎng)絡(luò)托管,專用網(wǎng)絡(luò)托管服務(wù)器具有更大的靈活性,意味著對服務(wù)有更好的控制。
下載能力:適合頻繁下載鏈接的網(wǎng)站,較少帶寬限制,便于監(jiān)控速度和性能。
資源共享:不允許共享處理器、硬盤驅(qū)動器或帶寬等資源,確保服務(wù)的獨立性。
Web服務(wù)器的基本定義、工作原理、主流軟件以及優(yōu)勢均涵蓋了全面的理解,通過對這些方面的詳細(xì)解釋,可以更清楚地認(rèn)識到Web服務(wù)器在現(xiàn)代互聯(lián)網(wǎng)中的重要性。