1989年,互聯(lián)網(wǎng)之父Berners-Lee向其雇主CERN提出了一個(gè)新項(xiàng)目朝群,目的是通過使用超文本系統(tǒng)來緩解科學(xué)家之間的信息交流。該項(xiàng)目導(dǎo)致Berners-Lee在1990年編寫了兩個(gè)方案:
一個(gè)名為WorldWideWeb的瀏覽器它抱。
世界上第一個(gè)網(wǎng)絡(luò)服務(wù)器浪漠,后來被稱為CERN httpd陕习,它運(yùn)行在NeXTSTEP上
在1991年至1994年期間,用于通過萬維網(wǎng)沖浪和交換數(shù)據(jù)的早期技術(shù)的簡單性和有效性有助于將其移植到許多不同的操作系統(tǒng)址愿,并將其用于科學(xué)組織和大學(xué)该镣,然后傳播到行業(yè)。
1994年响谓,Berners-Lee決定組建萬維網(wǎng)聯(lián)盟(W3C)损合,通過標(biāo)準(zhǔn)化過程來管理涉及的許多技術(shù)(HTTP,HTML等)的進(jìn)一步發(fā)展娘纷。
就是這臺(tái)服務(wù)器:
Web服務(wù)器的主要功能是存儲(chǔ)塌忽,處理和傳遞網(wǎng)頁給客戶∈唬客戶端和服務(wù)器之間的通信使用超文本傳輸協(xié)議(HTTP)進(jìn)行。交付的頁面最常見的是HTML文檔枣购,除了文本內(nèi)容之外嬉探,還可能包含圖像擦耀,樣式表和腳本。
一個(gè)用戶代理涩堤,通常是web瀏覽器或web爬蟲眷蜓,通過發(fā)起一個(gè)HTTP請求以獲取服務(wù)器資源,服務(wù)器根據(jù)請求返回該資源或由于某種原因響應(yīng)錯(cuò)誤消息胎围。該資源通常是服務(wù)器輔助存儲(chǔ)上的真實(shí)文件吁系,但這不一定是這種情況,取決于Web服務(wù)器的實(shí)現(xiàn)方式白魂。
雖然主要功能是提供內(nèi)容汽纤,但HTTP的完整實(shí)現(xiàn)還包括從客戶端接收內(nèi)容的方式。此功能用于提交Web表單福荸,包括上傳文件蕴坪。許多通用Web服務(wù)器還支持使用Active Server Pages(ASP),PHP或其他腳本語言的服務(wù)器端腳本敬锐。這意味著Web服務(wù)器的行為可以在單獨(dú)的文件中腳本化背传,而實(shí)際的服務(wù)器軟件保持不變。通常台夺,此函數(shù)用于動(dòng)態(tài)生成HTML文檔(“即時(shí)”)径玖,而不是返回靜態(tài)文檔。前者主要用于從數(shù)據(jù)庫檢索或修改信息颤介。后者通呈嵝牵快得多,并且更容易被緩存买窟,但不能提供動(dòng)態(tài)內(nèi)容丰泊。
Web服務(wù)器不僅用于為萬維網(wǎng)服務(wù)。它們也可以被嵌入到諸如打印機(jī)始绍,路由器瞳购,網(wǎng)絡(luò)攝像機(jī)等設(shè)備中,并且僅服務(wù)于本地網(wǎng)絡(luò)亏推。然后学赛,web服務(wù)器可以用作用于監(jiān)視或管理所討論的設(shè)備的系統(tǒng)的一部分。這通常意味著客戶端計(jì)算機(jī)上不需要安裝其他軟件吞杭,因?yàn)橹恍枰粋€(gè)網(wǎng)絡(luò)瀏覽器(現(xiàn)在大多數(shù)操作系統(tǒng)都包含在內(nèi))盏浇。
Web服務(wù)器工作原理
HTTP協(xié)議基于TCP協(xié)議上,是一個(gè)應(yīng)用層協(xié)議芽狗,用于用戶代理和Web服務(wù)器進(jìn)行通信绢掰。Web服務(wù)器通常采用一問一答的方式進(jìn)行工作:
1、在用戶代理上用戶發(fā)起資源請求,請求內(nèi)容包括但不限于:指定資源的唯一標(biāo)識(shí)IRI,指明動(dòng)作類型(GET/POST/DELETE/PUT...)
2滴劲、用戶代理解析用戶輸入IRI并從中獲取目標(biāo)域名攻晒,交由DNS服務(wù)器解析。如果IRI中指定某IP地址班挖,這無需這步鲁捏。
3、如果與服務(wù)器的會(huì)話還沒建立萧芙,此時(shí)先建立TCP連接给梅,并完成HTTP協(xié)商(確定雙方均可接受的處理方式,包括協(xié)議版本双揪,是否加密动羽,內(nèi)容格式等等)。
4盟榴、用戶代理把請求內(nèi)容封裝成HTTP數(shù)據(jù)包向服務(wù)器發(fā)送曹质。
5、服務(wù)器接收到資源請求并以之前協(xié)商好的方式解包并處理擎场。
6羽德、服務(wù)器請求的資源封裝成HTTP數(shù)據(jù)包并返回給用戶代理。