1. 點擊 URL:news.qq.com
2. DNS解析:news.qq.com > 58.250.137.36
- 計算機只能識別IP地址對應(yīng)的數(shù)字
- 一個域名可能會對應(yīng)多個IP地址
- 一個IP地址也可能對應(yīng)多個域名
3. 客戶端與服務(wù)器建立TCP連接(三次握手)
- client > SYN(是TCP/IP建立連接時使用的握手信號) > server
- client < ACK(確認(rèn)) + SYN < server
- client > ACK > server
4. 客戶端封裝“請求報文”
5. 發(fā)送“請求報文”
6. HTTP Server 接收“請求報文”
7. WSGI 進(jìn)行協(xié)議解析秆撮, 將“請求報文”封裝成 HttpRequest
----------------------------------------------process_request
8. URL 映射:url > view_func
----------------------------------------------process_view
9. 執(zhí)行 view_func
- q取出參數(shù)
- 調(diào)用內(nèi)部邏輯
- 緩存燕鸽、數(shù)據(jù)庫處理
----------------------------------------------process_template - 模板渲染
- 封裝HttpResponse 對象
----------------------------------------------process_exception
----------------------------------------------process_response
10. WSGI 再次進(jìn)行協(xié)議解析山橄,將HttpRequest 對象封裝成“響應(yīng)報文”
11. HTTP Server 將“響應(yīng)報文”發(fā)送給客戶端
12. HTTP Server 關(guān)閉TCP連接
- client < FIN < server
- client > ACK > server
- 等待數(shù)據(jù)接收完成
- client > FIN > server
- client < ACK < server