开发者工具、协议观察与排错
HTTP、Web 与浏览器原理#Python全栈#第九阶段#HTTP、Web 与浏览器原理#开发者工具、协议观察与排错约 766 字 · 2 分钟阅读
追问显示点击任意追问卡片可收起 / 展开
Network 面板中应优先观察哪些信息?
追问 请求 URL、方法、状态、请求与响应头、数据格式和发起者怎样帮助缩小排查范围?
怎样从请求瀑布图与 Timing 面板分析慢请求?
追问 排队、DNS、连接、TLS、等待首字节和下载分别可能代表什么?复用连接时为何一些阶段不出现?
如何使用 Python HTTP 客户端复现浏览器请求?
追问 哪些头、Cookie、消息体和重定向设置需要对齐?为什么客户端成功不等于浏览器一定能读取结果?
连接超时、读取超时、整体截止时间与网关超时有什么区别?
追问 客户端停止等待是否意味着服务端停止执行?如何结合请求标识核对真实处理结果?
如何检查隐藏在自动跟随行为背后的重定向?
追问 怎样逐跳查看状态、Location 和后续方法?登录跳转返回 HTML 时,为何前端可能报 JSON 解析错误?
导出 HAR 或复制请求给同事排错时,需要检查哪些内容?
追问 Cookie、Authorization、查询参数和响应业务数据可能包含什么敏感信息?怎样脱敏又保留复现条件?
响应声称是 JSON,但客户端无法解析时,如何逐层核对?
追问 实际消息体、媒体类型、编码、重定向、代理错误页和截断分别怎样产生问题?为什么不应只修改解析代码?
Range 与 206 响应如何支持部分内容获取?
追问 Content-Range 表达什么?客户端请求范围不一定被服务器支持时,如何处理 200、206 与 416 的差异?
条件请求怎样帮助避免覆盖他人的更新?
追问 读取资源后使用 If-Match 提交修改,ETag 过期时应怎样处理?它与缓存验证用的 If-None-Match 有什么区别?
如何将浏览器问题与服务端日志关联起来?
追问 请求标识、时间、入口代理和应用日志怎样配合?为什么“应用没有日志”不一定证明浏览器没有发请求?
核对资料: W3C Resource Timing 规范。