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