Python 现代开发学习笔记

(二)沿一次请求找出各层职责

1. 浏览器、服务器与数据库之间的动作

浏览器收集表单字段,向服务器地址发送 HTTP 请求。服务器接收网络字节,交给 Python 应用;应用选择处理函数、核对数据、执行数据库操作,再形成 HTTP 响应。浏览器根据响应更新页面或发起下一次请求。

一次请求中的分工可以这样读:

部分 这次保存中的具体动作
路由 根据 POST /books 选择保存表单的处理分支
输入解析 从请求体取出书名、状态与标签文本
校验 核对字段类型、空白书名和标签内容
业务处理 给当前账号建立书籍,判断同名冲突
数据库 在事务中插入记录并提交
响应 告诉浏览器保存结果与下一步地址

数据库没有直接接收浏览器按钮,也没有直接绘制页面。路由与校验把网络输入变成业务数据,响应再把结果交回客户端。

浏览器字段经过请求解析路由校验与事务写入,提交后响应才沿网络返回,页面再发起读取

2. 从开发者工具观察方法、地址与正文

浏览器按 F12 打开开发者工具,在 Network 中保留请求记录,再保存一本书。先找到 POST 请求,查看 Request Method、Request URL、Content-Type 和请求正文,再看 Status Code 与 Location;随后还会看到一次 GET。

HTTP 方法表达动作,路径标识入口,查询串提供筛选条件。请求头描述正文格式、Cookie 等信息,请求体保存这次提交的数据。响应也有状态、头字段和正文;第八章读取过这些内容,现在从服务器一侧把它们生成出来。

笔记正文与全部题解 · Ctrl / ⌘ K