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