web框架和web伺服器的區別

時間 2021-06-06 08:12:20

1樓:

參考了quora上的回答,這裡試著寫一下自己的理解,前端新手,如有錯誤之處,還請勿噴。

簡單來說,web伺服器(web server)的主要作用是,接收客戶端請求,而web框架(web framework)則是處理web伺服器收到的請求,並生成HTML內容,將生成的內容傳遞給web伺服器,再由web伺服器返回給客戶端。

伺服器和客戶端之間的連線靠web伺服器來維持,web伺服器接收到請求後,將請求以及相關的引數傳遞給web框架,由框架負責生成內容,並將生成的內容傳遞給web伺服器。所以web伺服器的職責是接受並返回請求,web伺服器的職責是內容生成。

對於Django這類的MVC 框架來說,面臨的主要挑戰是:易開發;對請求物件的完全訪問;保持某種狀態的能力;最重要的是能有寫出業務級邏輯的方式。

而對於 apache, tomcat, nginx這類web 伺服器來說,面臨的主要挑戰是並行;和數以千計的使用者同時保持連線(高併發);能夠在一定時間內傳送大量資料(吞吐量)。

雖然Django這類的框架自帶有web伺服器,但是在面對以上挑戰(高併發,吞吐量)時,效能太雞肋,所以需要專門的web伺服器。

用iPhone作為Web伺服器可行麼?

Sonic853 可行。但是我有幾年不用iPhone了,可能在iOS 9 以上不支援。前提是iPhone過保,以及越獄。Cydia的威鋒源有ios lighttpd php mysql,自行探索吧。2018 09 25更新 由於要復刻某個老遊戲,買了個iOS4版本的iPhone4以及iOS5.1.1...

如何寫乙個web伺服器?

GEM.hx 針對web伺服器 首先你要去了解HTTP協議,web server說到底就是乙個遵循Http協議的應用程式。可以先寫乙個簡單的,然後去關注一些high performance相關的,i o 復用 epoll event loop,non blocking,C10k問題,tcp調優 tc...

Web 伺服器與資料庫伺服器可伸縮性架構設計?

如果我沒記錯的話,oracle db 9i的極限連線數好像是500,這還是在滿配的高階UNIX主機上。雖然這個引數值可以手動調高,但若果你的硬體效能不夠,那連線數遠不到最大值系統就會報錯。即使併發數支援了,如果這些session操作的實體重合度很高,那一樣會有嚴重的效能問題。所以單DB支撐穩定的70...