HTTP response code:400

java.io.IOException:Service returned HTTP response code:400 for URL:

APP有个交易测试发现,报错原因是请求第三方接口,返回出现上述异常。

问题描述:

(1)连续两天测试中,均出现一笔该现象。属于偶发情况。
(2)从第三方APACHE log中查看到有400状态。

问题分析:

(1)查看了http返回码,400表示“客户端请求的语法错误,服务器无法理解”,分析该问题很可能是发送报文有问题。
(2)另外,第三方日志发现,400状态时收到的数据包相比正常包大小是四分之一,故分析发送过程中出现了丢包。

问题复现:

通过JMeter工具,模拟报文调用第三方接口,并使用tcpdump进行抓包,发现出现400状态时,抓包数据显示服务器返回数据时进行了多次重试,即有可能客户端并未收到响应数据,所以未完成TCP握手应答,所以服务器端一直在重复发送响应包。
后来技术总监认为该问题发生几率较低,排除是代码问题导致,可能跟测试环境服务器性能、网络环境等有关系,建议该问题暂时挂起。

你可能感兴趣的:(note)