开发网络应用时,抓包如图.客户端的实现存在两个问题:
- 只有三次握手的包,没有FIN包。并且header中没有connection:close,因此服务器有大量的socket打开却没有关闭。
- 请求的http没有被识别为http而是被wireshark识别为tcp
根据https://osqa-ask.wireshark.org/questions/6216/what-makes-a-packet-an-http-one,一个包被认为是完整的http,要么header里有content-length(当它组合起来长度达到时,被认为是一个完整的http包),要么header里有Transfer-Encoding: Chunked(当遇到FIN包时,被认为是一个完整的http包)。显然client这两个都不满足。