Qt distinguishes an HTTP proxy capable of tunnelling from its caching-only HTTP proxy type. Both names contain HTTP, but their connection capabilities differ.

Qt typeConnection role
HttpProxyHTTP CONNECT support for outgoing TCP connections
HttpCachingProxyOrdinary HTTP requests in a compatible request-based client
Socks5ProxySOCKS5 negotiation with its documented transport capabilities

A QNetworkAccessManager making an ordinary HTTP request can use the request-oriented type. A QTcpSocket that needs a byte tunnel requires a proxy with TunnelingCapability. Qt specifically cautions against installing an application default without that capability when generic TCP sockets must use it.

Select the protocol type before assigning the endpoint. For an allowed public HTTP request without proxy authentication, the HTTP proxy list offers addresses; the Qt type must still provide the capability that request needs. Giving HttpCachingProxy the port used by a CONNECT service does not add the missing capability to that Qt selection.

The caching-only label also does not promise that every response will be stored or reused by the remote server. It describes the client interface’s supported style of proxy use, while HTTP response policy still governs cache reuse.

Artiglyn mynjee