参考
HTTP response after request cancellation
TCP协议详解
概况
tcp请求是双向的,客户端关闭了,不接受数据。但是服务端没有关闭,仍然会发送数据。
TCP connections are bi-directional, and a single Fin only closes one direction. When you cancelled your request on the client side, you sent a Fin and the server’s TCP stack Ack’d it, which confirms that the client-to-server direction is now closed. So it would be illegal for your client to send more data to the server on that connection now. But since the server never sent a Fin, the server-to-client direction is still open. So it’s legal for the server to continue to send data on that connection, which it does: the HTTP response.
If you wanted to force both directions closed immediately, you should have sent a TCP Reset (Rst) instead of a Fin.