# 第5-3课练习:HTTP响应与状态码 # # 本文件只提供题目、预期结果、自查清单和验收标准,不包含参考答案或代码骨架。 # 练习一:为业务结果选择状态码 # 1. 查询成功并返回图书。 # 2. 成功创建图书。 # 3. 成功删除且不返回响应体。 # 4. 请求JSON格式错误。 # 5. 未登录、已登录但无权限、图书不存在、服务器未知异常。 # 为每种情况选择状态码,并在注释中解释原因。 # 练习二:构造响应 # 1. 编写create_book(title),空标题返回客户端错误。 # 2. 标题有效时模拟创建图书,返回新资源信息和Location响应头。 # 3. 编写print_response()输出状态行、响应头和响应体。 # 预期关键输出: # HTTP/1.1 201 Created # Location: /books/3 # 响应体:{'id': 3, 'title': 'Web基础'} # HTTP/1.1 400 Bad Request # 自查清单: # 1. 是否避免所有结果都返回200? # 2. 是否区分401未认证与403无权限? # 3. 是否区分客户端错误与服务器错误? # 4. 204响应是否没有响应体? # 最终验收标准: # 1. practice.py通过语法检查并可独立运行; # 2. 各业务情况的状态码合理; # 3. 创建成功包含Location响应头; # 4. 能解释2xx、4xx和5xx的责任边界。