HTTP 协议是建立在 TCP 基础之上的短连接协议
WSGI: Web Server Gateway Interface
从点击一个 URL 开始,到最终页面显示,中间经历的全部过程
域名解析: example.com -> 11.22.33.44
浏览器封装 “请求报文”
浏览器与服务器建立 TCP 连接 三次握手:
client -> SYN -> serverclient <- ACK + SYN <- serverclient -> ACK -> server浏览器向服务器发送 “请求报文”
HTTP Server 接收 “请求报文”
WSGI 将 “请求报文” 解析成 HTTPRequest 对象 ------------------------------------------------------> process_request
路由管理模块进行 URL 匹配,得到对应的 View 函数 ------------------------------------------------------> process_view
执行 View 函数 |- 1. 提取参数 |- 2. 进行逻辑处理 |- 3. 进行数据处理 |- 4. 进行模板渲染 |- --------------------------------------------------> process_template |- 5. 将处理结果封装成 HTTPResponse 对象 | ------------------------------------------------------> process_exception
----------------------------------------------------------> process_response
WSGI 将 HTTPResponse 对象封装成 “响应报文”
HTTP Server 将 “响应报文” 发送给浏览器
服务器断开与浏览器的 TCP 连接 四次挥手:
server -> FIN -> clientserver <- ACK <- client 数据传输等待中…server <- FIN <- clientserver -> ACK -> client浏览器接收 “响应报文”
浏览器解析 “响应报文”,并渲染成页面