Suppose cURL opens a fresh TCP connection to a plain HTTP proxy, establishes an HTTPS tunnel and downloads one response. The timings describe milestones observed by cURL on that path.

ValueMilestone measured from transfer start
time_connectConnection to the proxy completed
time_appconnectThe relevant TLS handshake completed
time_starttransferThe first response byte was received
time_totalThe transfer finished

For an illustrative POSIX-shell capture:

curl --proxy http://proxy.example:8080 \
  --output /dev/null \
  --write-out 'connect=%{time_connect} tls=%{time_appconnect} first=%{time_starttransfer} total=%{time_total}\n' \
  https://example.com/

For an allowed public HTTPS comparison without proxy credentials, an HTTP entry from the HTTP proxy list can replace the example proxy. The values are cumulative seconds. They are not four independent durations to add together. Keep the transfer error and response status alongside the numbers: a failed connection or rejected tunnel did not reach every later milestone.

What subtraction can tell you

For a single successful response, time_total minus time_starttransfer describes the remaining interval after the first byte arrived. That is mainly the later response transfer and associated client-side work. It is not the proxy’s time to connect to the website, because that happened before the response could arrive.

Likewise, time_starttransfer minus time_connect can include tunneling, TLS, upstream network waits, server work and other processing. Calling the whole difference “proxy latency” assigns multiple components to one participant.

To separate the proxy’s upstream DNS, connect and response waits, obtain corresponding proxy-side observations or traces. The client does not receive those internal timestamps merely by using HTTP CONNECT.

Compare equivalent transfers. Redirects add timings from multiple requests, while connection reuse and multiplexing change which setup work is necessary. Record those conditions before comparing one proxy’s numbers with another’s.

Allakkat attuumassuteqartut