搭建一個web服務器的實現流程
最近,我回顧了web服務器的相關機制和原理,為了更好的便于記憶和理解,我嘗試用Java編寫了一個簡化的web服務器,簡化了傳統服務器的大部分功能和結構封裝,現在新網小編就分享搭建一個web服務器的實現流程,想要學習搭建web服務器的朋友們都可以看過來。
Web服務器一般指網站服務器,是指駐留于因特網上某種類型計算機的程序,可以處理瀏覽器等Web客戶端的請求并返回相應響應,也可以放置網站文件,讓全世界瀏覽;可以放置數據文件,讓全世界下載。目前最主流的三個Web服務器是Apache、 Nginx 、IIS。
搭建一個web服務器的實現流程
1 創建服務端ServerSocket, 綁定一個 端口號;
2 循環監聽客戶端請求,連接成功后返回一個Socket;
3 開啟一個新的線程,傳入Socket處理當前請求;
4 Web Server調用ServiceDispacher進行服務的分發;
5 ServiceDispacher根據請求查找并調用相應的控制器;
6 控制器方法執行返回結果,并將結果相應到瀏覽器。
1.Apache服務器
Apache仍然是世界上用得最多的Web服務器,市場占有率達60%左右。它源于NCSAhttpd服務器,在NCSA WWW服務器項目停止后,那些使用NCSA WWW服務器的人們開始交換用于此服務器的補丁,這也是Apache名稱的由來(pache補丁)。世界上很多著名的網站都是Apache的用戶,它的優勢主要在于源代碼開放、有一支開放的開發隊伍、支持跨平臺的應用(可以運行在幾乎所有的Unix, Windows. Linux系統平臺上),以及其可移植性等。Apache的模塊支持非常豐富,雖在速度、性能上不及其他輕量級W eb服務器,但是屬于重量級產品,所消耗的內存也比其他Web服務器要高。
2.Nginx服務器
Nginx ("engine x") 是一個高性能的 HTTP 和 反向代理 服務器,也是一個IMAP/POP3/SMTP 代理服務器。 Nginx 是由 Igor Sysoev 為俄羅斯訪問量第二的 Rambler.ru 站點開發的,第一個公開版本0.1.0發布于2004年10月4日。其將源代碼以類BSD許可證的形式發布,因它的穩定性、豐富的功能集、示例配置文件和低系統資源的消耗而聞名。2011年6月1日,nginx 1.0.4發布。
3.Tomcat服務器
Tomcat是一個開放源代碼、運行servlet和JSP Web應用軟件的基于Java的W eb應用軟件容器。Tomcat Server是根據servlet和JSP規范執行的,因此也可以說Tomcat Server實行了Apache-Jakarta規范,且比絕大多數商業應用軟件服務器要好。但是,Tomcat對靜態文件、高并發的處理比較弱。
聲明:免責聲明:本文內容由互聯網用戶自發貢獻自行上傳,本網站不擁有所有權,也不承認相關法律責任。如果您發現本社區中有涉嫌抄襲的內容,請發
送郵件至:operations@xinnet.com進行舉報,并提供相關證據,一經查實,本站將立刻刪除涉嫌侵權內容。本站原創內容未經允許不得轉載,或轉載時
需注明出處:新網idc知識百科