點擊URL到頁面返回中間有什么過程

1. 點擊 URL:news.qq.com
2. DNS解析:news.qq.com > 58.250.137.36
  • 計算機只能識別IP地址對應的數字
  • 一個域名可能會對應多個IP地址
  • 一個IP地址也可能對應多個域名
3. 客戶端與服務器建立TCP連接(三次握手)
  1. client > SYN(是TCP/IP建立連接時使用的握手信號) > server
  2. client < ACK(確認) + SYN < server
  3. client > ACK > server
4. 客戶端封裝“請求報文”
5. 發(fā)送“請求報文”
6. HTTP Server 接收“請求報文”
7. WSGI 進行協(xié)議解析, 將“請求報文”封裝成 HttpRequest

----------------------------------------------process_request

8. URL 映射:url > view_func

----------------------------------------------process_view

9. 執(zhí)行 view_func
  1. q取出參數
  2. 調用內部邏輯
  3. 緩存、數據庫處理
    ----------------------------------------------process_template
  4. 模板渲染
  5. 封裝HttpResponse 對象
    ----------------------------------------------process_exception
    ----------------------------------------------process_response
10. WSGI 再次進行協(xié)議解析,將HttpRequest 對象封裝成“響應報文”
11. HTTP Server 將“響應報文”發(fā)送給客戶端
12. HTTP Server 關閉TCP連接
  1. client < FIN < server
  2. client > ACK > server
  • 等待數據接收完成
  1. client > FIN > server
  2. client < ACK < server
13. 客戶端接收“響應報文”

注: 中間插入的是django中間件工作的位置

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容