In these situations I would normally use wireshark to look at the 
life-cycle of a single session.
Which direction are the FIN and RST packets going?
Are they sent from the client, or the server?
If the RST packets are sent by the server - i.e. the server is slamming 
shut the connection,
then the client can not reuse them and has to create new ones.

If foo is https, then this does make it harder to use tcpdump to look at 
the headers.
But you can print out the response headers sent bt foo.com using 
https://golang.org/pkg/net/http/httputil/#DumpResponse
and this should give you a bit more information.

Hope this helps...
- Amnon

On Thursday, 7 May 2020 15:13:04 UTC+1, Ryan Rank wrote:
>
> This is what I did, and see no change in behavior.
>
> for i := 0; i < 10; i++ {
>     response, err :=client.Get("https://foo.com";)
>     if err!= nil{
>         panic(err)
>     }
>     ioutil.ReadAll(response.Body)
>     response.Body.Close()
> }
>
> The network trace shows a SYN, SYN-ACK, ACK at the beginning of each HTTP 
> GET, and a FIN-ACK followed by some RST packets (those RSTs are common for 
> the foo.com in this case).
>
> I do know that foo.com honors keepalives because it's readily apparent 
> when I use *ab *to test.
>
> Also, I did upgrade to go 1.14.2 and nothing changed.
>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/33d4eca3-e80a-458b-9cdd-51fe6b674632%40googlegroups.com.

Reply via email to