Http请求出现invalid http response问题的原因分析

发生场景:A系统发送Http请求调用B系统提供的接口;

发生问题:A系统报错,提示 invalid http response 错误信息;

问题分析:根据翻译,无效的Http响应,初步判断是服务提供方出现的问题,也就是回复的内容不对。那么具体怎么定位呢。需要慢慢排查。如果问题始终难以定位,建议安装Wireshark抓包软件,进行抓包分析。本案例截图如下:

我们按照第一列序号顺序梳理:

第15~19行是TCP握手过程;

第20行是上送请求报文;

第21行是确认ACK报文;

第22~24是本次发生错误的重点,continuation是代表打包分片的意思,也就是回复的报文太大拆成了报文块,但是本次直接回复了这个块是有问题的。这种报文块的出现应该在正常回复之后,也就是说,即使有分包也应该在截图的第29行之后;但是本次报文回复分析不应该被分包;随后对分包里面的内容进行了分析,最终定位了是服务器偶发的一个问题;是服务器存在偶发的bug导致将其他I/O流的部分报文段发送给了客户端。

第26行因为收到了错误的回复报文,客户端无法解析所以发送FIN报文,通知服务器要进行关闭TCP;

第29行发送了关闭请求报文后,客户端又收到了服务器的正常回复报文;

第30~40行因为发送了关闭请求,有收到其他回复报文,所以客户端尝试多次发送了RST报文;

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr.Bai.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值