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 отговори продължава да управлява повторното използване на кеша.