web框架初覽

最近由于工作需要缀去,準備從前端往后端發(fā)展發(fā)展,遇到的第一個難題就是需要在服務器上搭建web框架识脆,之前也大概的了解過什么Apache设联,Tomcat,Nginx灼捂,jetty离例,node之類的,但是完全沒搞清楚這幾個有什么區(qū)別悉稠,通過一段時間的了解宫蛆,這篇文章旨在為新人對這些框架提供一個初步的概念。本文僅供參考的猛,轉(zhuǎn)職程序員一枚耀盗,歡迎指教。


Paste_Image.png
1. Web 服務器是什么卦尊?web框架又是什么叛拷?

WEB服務器主要功能是提供網(wǎng)上信息瀏覽服務。當Web瀏覽器(客戶端)連到服務器上并請求文件時岂却,服務器將處理該請求并將文件反饋到該瀏覽器上忿薇,附帶的信息會告訴瀏覽器如何查看該文件(即文件類型)。服務器使用HTTP協(xié)議與客戶機瀏覽器進行信息交流躏哩,這就是人們常把它們稱為HTTP服務器的原因署浩。Web服務器不僅能夠存儲信息,還能在用戶通過Web瀏覽器提供的信息的基礎(chǔ)上運行腳本和程序扫尺。

web框架是什么筋栋?其實可以把服務器就當做一個大程序來看待,web框架的作用就是讓你更加方便的去使用它器联,發(fā)揮它的最大功能二汛。
如果不去使用框架婿崭,直接使用服務器自帶功能,也可以實現(xiàn)基本需求肴颊,但是在不同的網(wǎng)絡(luò)環(huán)境里面氓栈,對網(wǎng)絡(luò)的需求,不僅僅是能夠進行網(wǎng)絡(luò)通信婿着,還需要很多不同的需求授瘦,如果不將服務器隔離開來,那么會相當不靈活竟宋,處理這些需求提完,會很費事,甚至無法完成丘侠。下面是一些需求:
a.高性能:nginx和apache通過配置就可以大大的提高不同場景下的性能徒欣,對高并發(fā)更加是優(yōu)化得很徹底了。
b.安全:對ssl的支持蜗字,證書的支持打肝,其他服務器很可能沒實現(xiàn)或者實現(xiàn)不統(tǒng)一。
c.代理分發(fā):統(tǒng)一了入口點挪捕,避免暴露內(nèi)部復雜的環(huán)境粗梭。

2. Apache,Tomcat级零,Nginx断医,jetty,node這些框架到底是什么奏纪,有什么區(qū)別嗎鉴嗤?

首先要有一個概念,其實web服務器應該是分成兩類來看待的亥贸,第一類是web服務器躬窜,第二類是應用服務器

web服務器:將某一個文本文件的內(nèi)容通過HTTP協(xié)議返回到客戶端炕置,但是這個文本文件的內(nèi)容是固定的——也就是說無論何時荣挨、任何人訪問它得到的內(nèi)容都是完全相同的,這樣的資源我們稱之為靜態(tài)資源朴摊。例如百度首頁默垄,只需要載入圖標和基本DOM元素,典型的靜態(tài)資源甚纲。
一個 HTTP Server 關(guān)心的是 HTTP 協(xié)議層面的傳輸和訪問控制口锭,所以在 Apache/Nginx 上你可以看到代理、負載均衡等功能【椴伲客戶端通過 HTTP Server 訪問服務器上存儲的資源(HTML 文件韭寸、圖片文件等等)。通過 CGI 技術(shù)荆隘,也可以將處理過的內(nèi)容通過 HTTP Server 分發(fā)恩伺,但是一個 HTTP Server 始終只是把服務器上的文件如實的通過 HTTP 協(xié)議傳輸給客戶端。

Paste_Image.png

應用服務器:動態(tài)資源則與之相反椰拒,在不同的時間晶渠、不同的客戶端訪問得到的內(nèi)容是不同的,典型的網(wǎng)站是網(wǎng)易云音樂燃观,每一條評論褒脯,右側(cè)的熱門歌單,廣告缆毁,都是通過后臺去數(shù)據(jù)庫動態(tài)的獲取的番川,每個人打開顯示的都不一樣。
應用服務器是一個應用執(zhí)行的容器脊框。它首先需要支持開發(fā)語言的 Runtime(對于 Tomcat 來說爽彤,就是 Java),保證應用能夠在應用服務器上正常運行缚陷。其次,需要支持應用相關(guān)的規(guī)范往核,例如類庫箫爷、安全方面的特性。對于 Tomcat 來說聂儒,就是需要提供 JSP/Sevlet 運行需要的標準類庫虎锚、Interface 等。

Paste_Image.png

那么衩婚,這些框架是怎么分類的呢窜护?
web服務器:Apache,Nginx等
應用服務器:Tomcat非春,jetty柱徙,nodejs等

3.web服務框架Apache,Nginx之間的區(qū)別?

nginx :

  • 輕量級奇昙,同樣起web 服務护侮,比apache 占用更少的內(nèi)存及資源
  • 抗并發(fā),nginx 處理請求是異步非阻塞的储耐,在高并發(fā)下nginx 能保持低資源低消耗高性能
  • 高度模塊化的設(shè)計羊初,編寫模塊相對簡單
  • 社區(qū)活躍,各種高性能模塊出品迅速

apache :

  • rewrite 什湘,比nginx 的rewrite 強大
  • 模塊超多长赞,基本想到的都可以找到
  • 少bug 晦攒,nginx 的bug 相對較多
  • 超穩(wěn)定,在市場上仍然是主流
    +在高并發(fā)時占用較多資源

一般來說得哆,需要性能的web 服務脯颜,用nginx 。如果不需要性能只求穩(wěn)定柳恐,例如一些大型公司或者金融公司之類伐脖,那就apache 吧。后者的各種功能模塊實現(xiàn)得比前者乐设,例如ssl 的模塊就比前者好讼庇,可配置項多。
Nginx 配置簡潔, Apache 復雜 近尚,Nginx 啟動特別容易, 并且?guī)缀蹩梢宰龅?*24不間斷運行蠕啄,即使運行數(shù)個月也不需要重新啟動. 你還能夠不間斷服務的情況下進行軟件版本的升級 . Nginx 靜態(tài)處理性能比 Apache 高 3倍以上 ,Apache 對 PHP 支持比較簡單戈锻,Nginx 需要配合其他后端來使用 ,Apache 的組件比 Nginx 多.

4.應用框架Tomcat歼跟,jetty,node之間的區(qū)別?

Tomcat:
Tomcat 服務器是一個免費的開放源代碼的Web 應用服務器(主要用于解析servlet/JSP,同時具備http服務)格遭,技術(shù)先進哈街、性能穩(wěn)定,而且免費拒迅,因而深受Java 愛好者的喜愛并得到了部分軟件開發(fā)商的認可骚秦。其運行時占用的系統(tǒng)資源小,擴展性好璧微,且支持負載平衡與郵件服務等開發(fā)應用系統(tǒng)常用的功能作箍。作為一個小型的輕量級應用服務器,Tomcat在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用前硫,成為目前比較流行的Web 應用服務器胞得。

jetty:
Jetty采用業(yè)界最優(yōu)的開源Java Web引擎,將Java社區(qū)中下載量最大屹电,用戶數(shù)最多阶剑,標準支持最完備的Tomcat內(nèi)核作為其Servlet容器引擎,并加以審核和調(diào)優(yōu)嗤详。單純的Tomcat性能有限个扰,在很多地方表現(xiàn)有欠缺,如活動連接支持葱色、靜態(tài)內(nèi)容递宅、大文件和HTTPS等。除了性能問題,Tomcat的另一大缺點是它是一個受限的集成平臺办龄,僅能運行Java應用程序烘绽。企業(yè)在使用時Tomcat,往往還需同時部署Apache WebServer以與之整合俐填。此配置較為繁瑣悟泵,且不能保證性能的優(yōu)越性警没。

Tomcat,jetty兩者都是Servlet容器,按照Servlet和JSP規(guī)范實現(xiàn)篱昔,功能上類似屁置。Jetty的應用更加快速蕾盯,修改簡單竹揍,對新的Servlet規(guī)范的支持較好。Tomcat目前應用比較廣泛痕鳍,對JavaEE和Servlet的支持更加全面硫豆,很多特性會直接集成進來。
什么是servlet容器呢笼呆?即實現(xiàn)HttpServletRequest熊响、HttpServletResponse、HttpSession等等接口诗赌,解析http請求汗茄,通過類加載器加載對應的servlet實現(xiàn)類并調(diào)用。也就是說servlet容器必須由java或者基于jvm的語言實現(xiàn)铭若。

node:這個單獨拿出來說剔难,大概看一下,因為目前剛剛火起來奥喻,目前比較偏向于做應用框架和后臺邏輯開發(fā)以及前端工具使用,商業(yè)上沒有上面兩個成熟非迹,暫僅僅做興趣研究环鲤。

總結(jié)下來,現(xiàn)在用戶要求越來越高憎兽,服務帶寬需求越來越大冷离,在需求驅(qū)動的情況下推出了各種框架,使用時先區(qū)分框架類型纯命,再去按照項目的實際情況去使用框架西剥,每個框架都有自己的優(yōu)缺點,適合的才是最好的亿汞。

如果有疑問瞭空,歡迎聯(lián)系我,后面一段時間會對每一個框架的安裝,配置咆畏,功能性能測試南捂,寫出更詳細的文章。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末旧找,一起剝皮案震驚了整個濱河市溺健,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌钮蛛,老刑警劉巖鞭缭,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異魏颓,居然都是意外死亡岭辣,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進店門琼开,熙熙樓的掌柜王于貴愁眉苦臉地迎上來易结,“玉大人,你說我怎么就攤上這事柜候「愣” “怎么了?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵渣刷,是天一觀的道長鹦肿。 經(jīng)常有香客問我,道長辅柴,這世上最難降的妖魔是什么箩溃? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮碌嘀,結(jié)果婚禮上涣旨,老公的妹妹穿的比我還像新娘。我一直安慰自己股冗,他們只是感情好霹陡,可當我...
    茶點故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著止状,像睡著了一般烹棉。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上怯疤,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天浆洗,我揣著相機與錄音,去河邊找鬼集峦。 笑死伏社,一個胖子當著我的面吹牛抠刺,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播洛口,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼矫付,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了第焰?” 一聲冷哼從身側(cè)響起买优,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎挺举,沒想到半個月后杀赢,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡湘纵,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年脂崔,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片梧喷。...
    茶點故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡砌左,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出铺敌,到底是詐尸還是另有隱情汇歹,我是刑警寧澤,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布偿凭,位于F島的核電站产弹,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏弯囊。R本人自食惡果不足惜痰哨,卻給世界環(huán)境...
    茶點故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望匾嘱。 院中可真熱鬧斤斧,春花似錦、人聲如沸霎烙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽吼过。三九已至,卻和暖如春咪奖,著一層夾襖步出監(jiān)牢的瞬間盗忱,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工羊赵, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留趟佃,地道東北人扇谣。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像闲昭,于是被迫代替她去往敵國和親罐寨。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,722評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 這部分主要是與Java Web和Web Service相關(guān)的面試題序矩。 96鸯绿、闡述Servlet和CGI的區(qū)別? 答...
    雜貨鋪老板閱讀 1,397評論 0 10
  • 一、Jetty目錄剖析 bin:可執(zhí)行腳本文件demo- base:etc:Jetty模塊定義的XML配置文件的目...
    高廣超閱讀 3,968評論 0 32
  • IOC 控制反轉(zhuǎn)容器控制程序?qū)ο笾g的關(guān)系簸淀,而不是傳統(tǒng)實現(xiàn)中瓶蝴,有程序代碼之間控制,又名依賴注入租幕。All 類的創(chuàng)建舷手,...
    irckwk1閱讀 926評論 0 0
  • 經(jīng)典的Java面試題(第二部分),這部分主要是與Java Web和Web Service相關(guān)的面試題劲绪。 96男窟、闡述...
    nnngu閱讀 688評論 0 8
  • 今日意圖:感恩,感受親情贾富,充實幸福的一天 今天跟老媽和姑姑們一起回老家去給爸爸和爺爺?shù)茸孑厒儫堝X歉眷,也就是所謂的上...
    心晴椰子閱讀 97評論 0 1