一. 熟练掌握HTTP
- 对HTTP协议应该很熟悉才行,这是开发安身立命之本
- HTTP请求报文包括三部分:
1.请求行:方法,路径及路径参数
2.首部行:多行,就是所谓的headers
3.请求数据:就是body部分
- HTTP响应报文也包括三部分:
1.状态行:状态码,也叫响应码
2.首部行:headers,这个在后续请求的时候会改变后续请求的headers内容,维持session状态
3.响应数据:就是body部分,这部分被称为有效负载
- 其中请求数据,响应码是必须要会的
请求数据一般包括路径参数和POST的body,body不同的格式编码不同
有form格式,与GET编码相同
有text格式,纯文本
有json格式,格式正确的json文本响应码含义
10x 能理解
20x 正常 200-OK
30x 重定向
40x 客户端问题 404-找不到对象
50x 服务器问题 500-服务器内部错误其中200,404,500,最常用
二. 定位问题
- 服务器端怎么协助联调
使用tail -f查看动态日志
1.一般代码中应该有日志埋点, tail -f对应的日志文件
2.如果一不行,tail -f gunicorn日志或者uwsgi日志也可
3.前两个都不行,tail -f nginx日志查看请求路径和状态码,一般只有50X需要去定位业务逻辑,方法如下
如果服务器端有异常,可以通过异常日志或sentry辅助定位
- 客户端怎么联调
1.确定请求报文有没有发送到服务器端
可以使用fiddler帮助定位http请求有没有发出
如果没有发出,问题肯定是局限在客户端2.看状态码
如果有发出,第一步先看状态码,50X才是服务器的问题
404的话看路径有没有拼对,200的话一定是客户端的问题
网友评论