大概是这样: http1.0,默认短连接,直接close http1.0+keep-alive,可以不关连接。(长度已知ContentLength,未知直接close) http1.1,默认长连接。(长度已知ContentLength,未知分块)
某应用请求用的Http1.0,每次都close连接。 经常会莫名其妙返回RST,连接被断。 原因没查出来,不过改成Http1.1就好了, 因为1.1不关连接,可以复用端口。
去网上查了下,close的时候发送RST包的原因可能是缓冲区中还有数据没有接收完, 就会用RST替代普通的FIN,直接强制关闭连接。 普通的spring程序看不出啥来,没辙
wireshark过滤表达式: http.request && http contains “HTTP/1.0” tcp.flags.reset == 1
|