WEB服務(wù)器有哪幾種_web服務(wù)器的工作原理
WEB服務(wù)器有哪幾種
如今的Web服務(wù)器有很多種,大家在做項(xiàng)目的時(shí)候根據(jù)自己的需求進(jìn)行靈活的選擇。下面小編就給大家分享一下目前都有哪些Web服務(wù)器。
1.Apache
Apache也被叫做httpd服務(wù)器,是目前使用最廣泛的web服務(wù)器,它被應(yīng)用于各種平臺(tái)之中。Apache剛開(kāi)始被推出的時(shí)候有很多的缺陷,如今已經(jīng)被修復(fù)的越來(lái)越完善,如果你是web服務(wù)器的鉆研者,小編建議你一定要學(xué)習(xí)一下Apache的使用。
2.Nginx
Nginx是Linux平臺(tái)下的優(yōu)秀Web服務(wù)器,小編以前用過(guò)這個(gè)服務(wù)器,它讓本來(lái)運(yùn)行很慢的應(yīng)用程序提升了很大的速度。
3.IIS
IIS是微軟平臺(tái)的Web服務(wù)器,是針對(duì)Windows平臺(tái)的服務(wù)器。它和NET語(yǔ)言非常的搭配,新手掌握起來(lái)也比較快。
4.WebLogic
WebLogic是專(zhuān)門(mén)應(yīng)用于企業(yè)級(jí)開(kāi)發(fā)的web服務(wù)器,比較常見(jiàn)的是和Java語(yǔ)言搭配,使用起來(lái)和Apache差不多,同時(shí)它的架構(gòu)也非常的優(yōu)秀。
5.Tomcat
Tomcat是很多Java學(xué)習(xí)者都非常熟悉的web服務(wù)器,一般剛開(kāi)始學(xué)習(xí)Java Web開(kāi)發(fā)的人都會(huì)使用Tomcat作為服務(wù)器進(jìn)行練習(xí)。它既有可視化的操作界面,也有命令語(yǔ)句,是不錯(cuò)的入門(mén)級(jí)服務(wù)器。
6.Lighttpd
Lighttpd是一款開(kāi)源的web服務(wù)器,比較的輕巧,功能也很多。目前在使用率上比較少,還沒(méi)有推廣起來(lái)。
7.Sun
Sun是一款針對(duì)Solaris的web服務(wù)器,應(yīng)用范圍不是很廣泛,只應(yīng)用于Sun公司的相應(yīng)web產(chǎn)品。另外一般的開(kāi)發(fā)者輕易的用不了這款服務(wù)器。
8.Jetty
Jetty是專(zhuān)門(mén)針對(duì)Java Web的服務(wù)器,它被用來(lái)運(yùn)行Servlet程序,是眾多服務(wù)器中最局限的一個(gè)了。小編并不建議大家掌握這款服務(wù)器。
web服務(wù)器的工作原理
我們最常說(shuō)的Web服務(wù)器指的是網(wǎng)站服務(wù)器,它是建立在Internet之上并且駐留在某種計(jì)算機(jī)上的程序。Web服務(wù)器可以向Web客戶(hù)端(如瀏覽器)提供文檔或其他服務(wù),只要是遵循HTTP協(xié)議而設(shè)計(jì)的網(wǎng)絡(luò)應(yīng)用程序都可以是Web客戶(hù)端。
Web服務(wù)器和HTTP服務(wù)器可以說(shuō)是同一個(gè)東西,當(dāng)然非得細(xì)分的話(huà),HTTP服務(wù)器是建立在HTTP協(xié)議之上的提供文檔瀏覽的服務(wù)器,更多的是提供靜態(tài)的文件。而Web服務(wù)器涵蓋了HTTP服務(wù)器(這一點(diǎn)可以自行百度百科), Web服務(wù)器不僅能夠存儲(chǔ)信息,還能在用戶(hù)通過(guò)Web瀏覽器提供的信息的基礎(chǔ)上運(yùn)行腳本和程序。
上面這張圖,將一次Web服務(wù)的工作流程過(guò)一遍,我們假設(shè)以瀏覽器作為客戶(hù)端
?。?) 用戶(hù)做出了一個(gè)操作,可以是填寫(xiě)網(wǎng)址敲回車(chē),可以是點(diǎn)擊鏈接,可以是點(diǎn)擊按鍵等,接著瀏覽器獲取了該事件。
?。?) 瀏覽器與對(duì)端服務(wù)程序建立TCP連接。
?。?) 瀏覽器將用戶(hù)的事件按照HTTP協(xié)議格式**打包成一個(gè)數(shù)據(jù)包,其實(shí)質(zhì)就是在待發(fā)送緩沖區(qū)中的一段有著HTTP協(xié)議格式的字節(jié)流。
?。?) 瀏覽器確認(rèn)對(duì)端可寫(xiě),并將該數(shù)據(jù)包推入Internet,該包經(jīng)過(guò)網(wǎng)絡(luò)最終遞交到對(duì)端服務(wù)程序。
(5) 服務(wù)端程序拿到該數(shù)據(jù)包后,同樣以HTTP協(xié)議格式解包,然后解析客戶(hù)端的意圖。
(6) 得知客戶(hù)端意圖后,進(jìn)行分類(lèi)處理,或是提供某種文件、或是處理數(shù)據(jù)。
?。?) 將結(jié)果裝入緩沖區(qū),或是HTML文件、或是一張圖片等。
?。?) 按照HTTP協(xié)議格式將(7)中的數(shù)據(jù)打包
(9) 服務(wù)器確認(rèn)對(duì)端可寫(xiě),并將該數(shù)據(jù)包推入Internet,該包經(jīng)過(guò)網(wǎng)絡(luò)最終遞交到客戶(hù)端。
?。?0) 瀏覽器拿到包后,以HTTP協(xié)議格式解包,然后解析數(shù)據(jù),假設(shè)是HTML文件。
(11) 瀏覽器將HTML文件展示在頁(yè)面
以上為Web服務(wù)器工作基本原理。其實(shí)不難發(fā)現(xiàn),這僅僅只是一個(gè)簡(jiǎn)單的網(wǎng)絡(luò)通信。我們應(yīng)該深信,作為一個(gè)服務(wù)器,其根本的工作無(wú)非有三個(gè)
1.接收數(shù)據(jù) 2.發(fā)送數(shù)據(jù) 3.數(shù)據(jù)處理
而Web服務(wù)器的本質(zhì)就是 接收數(shù)據(jù) ? HTTP解析 ? 邏輯處理 ? HTTP封包 ? 發(fā)送數(shù)據(jù)
高級(jí)的服務(wù)器無(wú)非就是將這三個(gè)部分更加細(xì)致的設(shè)計(jì)了。
非常好我支持^.^
(431) 47.1%
不好我反對(duì)
(484) 52.9%
相關(guān)閱讀:
- [電子說(shuō)] 如何使用WireMock搭建一個(gè)HTTP模擬器 2023-10-09
- [電子說(shuō)] DDD是什么?DDD核心概念梳理 2023-09-07
- [通信網(wǎng)絡(luò)] 一個(gè)HTTP數(shù)據(jù)包的完整旅程 2023-08-21
- [電子說(shuō)] 你知道什么是CSRF攻擊嗎?如何防范? 2023-07-28
- [電子說(shuō)] SpringBoot的嵌入式Web容器是什么時(shí)候加載的? 2023-07-11
- [電子說(shuō)] JSON將替代XML?絕對(duì)不可能! 2023-07-07
- [電子說(shuō)] Spring賭上未來(lái)的一擊,響應(yīng)式的WebFlux框架更優(yōu)雅 2023-06-21
- [電子說(shuō)] 端口隔離是什么?如何實(shí)現(xiàn)端口隔離? 2023-06-16
( 發(fā)表人:姚遠(yuǎn)香 )