Qt HttpProxy проти HttpCachingProxy: можливості CONNECT
Відрізняйте HttpProxy у Qt з підтримкою CONNECT від типу HttpCachingProxy лише для запитів.
Qt розрізняє HTTP-проксі, здатний тунелювати, і свій тип HTTP-проксі лише для кешування. Обидві назви містять HTTP, але їхні можливості з'єднання різняться.
| Тип Qt | Роль з'єднання |
|---|---|
| HttpProxy | Підтримка HTTP CONNECT для вихідних TCP-з'єднань |
| HttpCachingProxy | Звичайні HTTP-запити в сумісному клієнті на основі запитів |
| Socks5Proxy | Узгодження SOCKS5 з його задокументованими транспортними можливостями |
QNetworkAccessManager, що виконує звичайний HTTP-запит, може використовувати тип, орієнтований на запити. QTcpSocket, якому потрібен байтовий тунель, вимагає проксі з TunnelingCapability. Qt особливо застерігає від встановлення типового проксі застосунку без цієї можливості, коли його мають використовувати звичайні TCP-сокети.
Виберіть тип протоколу до призначення кінцевої точки. Для дозволеного публічного HTTP-запиту без автентифікації проксі список HTTP-проксі пропонує адреси; тип Qt усе одно має забезпечувати можливість, потрібну цьому запиту. Якщо надати HttpCachingProxy порт, який використовує служба CONNECT, відсутня можливість у цьому виборі Qt не з'явиться.
Позначка лише кеш також не обіцяє, що кожну відповідь буде збережено або повторно використано віддаленим сервером. Вона описує підтримуваний клієнтським інтерфейсом стиль використання проксі, тоді як політика HTTP-відповідей і далі керує повторним використанням кешу.