从点击 URL 开始到页面呈现,中间经历的什么样的过程

从点击 URL 开始到页面呈现,中间经历的什么样的过程

点击 http://news.qq.com/

  1. DNS 解析 news.qq.com -> 125.39.52.26

  2. 建立 TCP 连接 (全双工)

    1. client -> SYN -> server
    2. client <- ACK + SYN <- server
    3. client -> ACK -> server
  3. 构造 “HTTP 请求报文”

  4. 发送数据

  5. HTTP Server 接收数据报文

    • 负责建立、断开网络连接
    • 负责接收、发送数据
    • 只负责跟网络有关的处理
  6. WSGI 将请求报文封装成 HTTP Request 对象
    -----------------------------------------------------------------> process_request

  7. URL 映射找到 View 函数
    -----------------------------------------------------------------> process_view

  8. 执行 View

    1. 解析参数
    2. 逻辑处理 (从数据库、缓存取出数据,进行各种逻辑运算)
    3. 将得到的结果进行 “模版渲染”
      -------------------------------------------------------------> process_template
    4. 返回一个 HTTP Response
      -----------------------------------------------------------------> process_exception
      -----------------------------------------------------------------> process_response
  9. WSGI 将 Response 对象转换成一个 “HTTP 响应报文”

  10. HTTP Server 将报文发送到浏览器

  11. 浏览器接收数据

  12. 客户端断开连接

  13. 解析、渲染

  14. 页面呈现

WSGI: Web Server Gateway Interface
uWSGI: 一个服务器软件,内部实现了 WSGI 接口

你可能感兴趣的:(从点击 URL 开始到页面呈现,中间经历的什么样的过程)