乙個請求在 django 中的處理流程:
瀏覽器| 構建 http 請求報文
| user request:
v網域名稱解析
| swiper.cn -> 11.22.33.44
v向伺服器建立網路連線: tcp 3 次握手^|
| 1. 與客戶端建立連線
| 2. 接收客戶端資料
vwsgi (web server gateway inte***ce)
| 將 「http 請求報文」 封裝成 httprequest 物件
|--------------------------------------> process_request (中介軟體)
vdjango 進行 url 對映, 匹配到乙個檢視函式
||--------------------------------------> process_view (中介軟體)
vview 檢視處理
| | 1. 引數處理
| | 2. 邏輯處理
| | 3. 資料處理
| | 4. 模板渲染 ----------------------> process_template (中介軟體)
| | 5. 將結果封裝成 httpresponse 物件
| || ------------------------------------> process_exception (中介軟體,捕獲檢視函式的異常,1-5過程有任何異常就跳過來)
||--------------------------------------> process_response (中介軟體)
vwsgi
| 將 httpresponse 物件封裝成 「http 響應報文」
| 1. 將 「http 響應報文」 傳送給客戶端
| 2. 斷開與客戶端的連線 (四次揮手)
v瀏覽器
django 的工作機制:
1.用manage.py runserver 啟動django伺服器時就載入了在同一目錄下的settings.py。該檔案包含了專案中的配置資訊,如urlconf等,其中最重要的配置就是root_urlconf,它告訴django哪個python模組應該用作本站的urlconf,預設的是urls.py
2.當訪問url的時候,django會根據root_urlconf的設定來裝載urlconf。
3.然後按順序逐個匹配urlconf裡的urlpatterns。如果找到則會呼叫相關聯的檢視函式,並把httprequest物件作為第乙個引數(通常是request)
4.最後該view函式負責返回乙個httpresponse物件。
乙個請求在Struts2框架中的處理步驟
乙個請求在struts2框架中的處理步驟 a 客戶端初始化乙個指向servlet容器的請求 b 根據web.xml配置,請求首先經過actioncontextcleanup過濾器,其為可選過濾器,這個過濾器對於struts2和其他框架的整合很有幫助 sitemesh plugin 主要清理當前執行緒...
Spring MVC 處理乙個請求的流程
乙個請求從客戶端發出到達伺服器,然後被處理的整個過程其實是非常複雜的。本部落格主要介紹請求到達伺服器被核心元件dispatcherservlet處理的整理流程 不包括filter的處理流程 1.處理流程分析 servlet處理乙個請求時會呼叫service 方法,所以dispatcherservle...
Tomcat處理乙個HTTP請求的過程
假設來自使用者的請求為 http localhost 8080 wsota wsota index.jsp 1 請求被傳送到本機埠8080,被在那裡偵聽的coyote http 1.1 connector獲得 2 connector把該請求交給它所在的service的engine來處理,並等待來自e...