Qt HttpProxy vs. HttpCachingProxy: capacità CONNECT
Distinguere l'HttpProxy di Qt con supporto CONNECT dal tipo HttpCachingProxy solo per le richieste.
Qt distingue un proxy HTTP in grado di creare tunnel dal suo tipo di proxy HTTP solo per la cache. Entrambi i nomi contengono HTTP, ma le loro capacità di connessione differiscono.
| Tipo Qt | Ruolo della connessione |
|---|---|
| HttpProxy | Supporto HTTP CONNECT per connessioni TCP in uscita |
| HttpCachingProxy | Richieste HTTP ordinarie in un client compatibile basato su richieste |
| Socks5Proxy | Negoziazione SOCKS5 con le sue capacità di trasporto documentate |
Un QNetworkAccessManager che effettua una normale richiesta HTTP può usare il tipo orientato alle richieste. Un QTcpSocket che necessita di un tunnel di byte richiede un proxy con TunnelingCapability. Qt avverte espressamente di non installare un valore predefinito dell'applicazione senza tale capacità quando i socket TCP generici devono usarlo.
Scegliere il tipo di protocollo prima di assegnare l'endpoint. Per una richiesta HTTP pubblica consentita senza autenticazione proxy, l'elenco dei proxy HTTP offre indirizzi; il tipo Qt deve comunque fornire la capacità richiesta da quella richiesta. Assegnare a HttpCachingProxy la porta usata da un servizio CONNECT non aggiunge la capacità mancante a quella scelta di Qt.
L'etichetta di sola cache non garantisce nemmeno che ogni risposta venga memorizzata o riutilizzata dal server remoto. Descrive lo stile d'uso del proxy supportato dall'interfaccia client, mentre la politica delle risposte HTTP continua a governare il riutilizzo della cache.