Skip to content

HTTP/1.1 connection reuse not seeming to work #4499

Description

@kinnison

I did this

I have a multi-handle into which I add easy handles duphandle()d from a common configured handle. I make a request to localhost, which completes as a keepalive response requesting authentication. From that I get * Connection #1 to host localhost left intact. The easy handle
is thence cleaned up, but the multi handle persists.

Then my client attempts to make another request to the same place and instead of it reusing that connection it ends up attempting to make a fresh connection. I get * Found bundle for host localhost: 0x556e73066cf0 [can pipeline] and * Hostname localhost was found in DNS cache but eventually * Connected to localhost (127.0.0.1) port 2345 (#2)

I expected the following

I expected to see connection 1 reused.

curl/libcurl version

somniloquy% curl -V                                                                                                                                              
curl 7.64.0 (x86_64-pc-linux-gnu) libcurl/7.64.0 OpenSSL/1.1.1d zlib/1.2.11 libidn2/2.0.5 libpsl/0.20.2 (+libidn2/2.0.5) libssh2/1.8.0 nghttp2/1.36.0 librtmp/2.3
Release-Date: 2019-02-06
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp scp sftp smb smbs smtp smtps telnet tftp 
Features: AsynchDNS IDN IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz TLS-SRP HTTP2 UnixSockets HTTPS-proxy PSL 
somniloquy%                                                                                                                                                      

operating system

Debian/Buster

Additional notes

The code driving cURL can be found at https://git.netsurf-browser.org/netsurf.git/tree/content/fetchers/curl.c though I appreciate that's a lot of code to look through, if you want me to point you at particular parts, just let me know.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions