Python web伺服器怎麼處理請求
web伺服器處理連線請求的四種架構方式:
1、單執行緒web伺服器
此種架構方式中,web伺服器一次處理一個請求,結束後讀取並處理下一個請求。在某請求處理過程中,其它所有的請求將被忽略,因此,在併發請求較多的場景中將會出現嚴重的必能問題。
相關推薦:《》
2、多程式/多執行緒web伺服器
此種架構方式中,web伺服器生成多個程式或執行緒並行處理多個使用者請求,程式或執行緒可以按需或事先生成。有的web伺服器應用程式為每個使用者請求生成一個單獨的程式或執行緒來進行響應,不過,一旦併發請求數量達到成千上萬時,多個同時執行的程式或執行緒將會消耗大量的系統資源。
3、I/O多路複用web伺服器
為了能夠支援更多的併發使用者請求,越來越多的web伺服器正在採用多種複用的架構——同步監控所有的連線請求的活動狀態,當一個連線的狀態發生改變時(如資料準備完畢或發生某錯誤),將為其執行一系列特定操作;在操作完成後,此連線將重新變回暫時的穩定態並返回至開啟的連線列表中,直到下一次的狀態改變。由於其多路複用的特性,程式或執行緒不會被空閒的連線所佔用,因而可以提供高效的工作模式。
4、多路複用多執行緒web伺服器
將多程式和多路複用的功能結合起來形成的web伺服器架構,其避免了讓一個程式服務於過多的使用者請求,並能充分利用多CPU主機所提供的計算能力。 web伺服器自身並不處理任何動態內容,它是如何響應客戶端的動態內容請求呢? 透過某種協議呼叫額外的其它程式來執行這個動態頁面,並將結果取回來以後返回給WEB伺服器,進而響應客戶端。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2236/viewspace-2836176/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Go Web如何處理Web請求?GoWeb
- 搜尋 伺服器處理請求伺服器
- Spring MVC框架處理Web請求的基本流程SpringMVC框架Web
- Retrofit2.5怎麼做到網路請求的處理的?
- 請求資料處理
- springmvc處理ajax請求SpringMVC
- DeferredResult——非同步請求處理非同步
- 非同步的發展,順手學會怎麼處理多請求非同步
- nginx 如何處理一個請求Nginx
- yai 請求預處理指令碼AI指令碼
- Netty(二):如何處理io請求?Netty
- Laravel請求處理管道理解Laravel
- 處理 HTTP 請求的註解HTTP
- springmvc原始碼 ---DispatcherServlet 處理請求SpringMVC原始碼Servlet
- 處理請求(AFURLRequestSerialization)和響應(AFURLResponseSerialization)
- 使用cors完成跨域請求處理CORS跨域
- linux如何處理多連線請求?Linux
- SpringBoot 教程之處理非同步請求Spring Boot非同步
- 4、Ktor學習-處理HTTP請求;HTTP
- java webservice 帶請求頭方式處理JavaWeb
- Spring MVC的請求處理邏輯SpringMVC
- SpringBoot可以同時處理多少請求?Spring Boot
- options 請求跨域問題處理跨域
- Nacos - 服務端處理心跳請求服務端
- 關於在request請求時,處理請求引數的問題
- React Native請求Https請求不通怎麼解決React NativeHTTP
- Nginx請求處理流程你瞭解嗎?Nginx
- axios中POST請求變成OPTIONS處理iOS
- Node.js如何處理多個請求?Node.js
- 封裝springmvc處理ajax請求結果封裝SpringMVC
- 前後端處理流檔案請求後端
- Apache Tomcat如何高併發處理請求ApacheTomcat
- Laravel 底層是如何處理HTTP請求LaravelHTTP
- Nacos - 服務端處理註冊請求服務端
- 【面試普通人VS高手系列】Dubbo的服務請求失敗怎麼處理?面試
- 伺服器遭受攻擊後怎麼處理伺服器
- SpringBoot使用Axios傳送請求,引數處理Spring BootiOS
- 用Golang處理每分鐘100萬份請求Golang