Perché APT non usa CONNECT per ogni download
L'inoltro HTTP ordinario e il tunneling HTTPS usano conversazioni proxy diverse. Un servizio solo CONNECT potrebbe non supportare le richieste generate da un repository HTTP.
«Il proxy accetta CONNECT» non significa che accetti ogni richiesta che APT invierà.
Per un repository HTTP ordinario, APT può usare il normale inoltro proxy HTTP: il proxy riceve una richiesta HTTP che identifica la risorsa di destinazione. Per HTTPS tramite un proxy HTTP, il client normalmente stabilisce un tunnel CONNECT, poi negozia la sessione TLS della destinazione attraverso di esso.
| Destinazione | Conversazione tipica con un proxy HTTP |
|---|---|
| Repository HTTP | Inoltra una richiesta HTTP |
| Repository HTTPS | CONNECT, poi TLS della destinazione |
Un servizio che accetta solo tunnel può rifiutare una richiesta inoltrata ordinaria. Un HTTP 405 merita un'occhiata al metodo effettivo, all'emittente della risposta e alla politica del proxy; non dimostra che APT non supporti SOCKS né che la sua password sia errata.
Confrontate il comportamento supportato del servizio con la documentazione di trasporto di APT e la semantica di CONNECT. Usate un servizio approvato compatibile o un URL di repository supportato. Per i repository pubblici in cui sono consentiti intermediari pubblici, la lista di proxy HTTP offre candidati da verificare rispetto a tali requisiti. Non presumete che aggiungere https:// all'indirizzo del proxy cambi il protocollo del repository o trasformi ogni richiesta in un tunnel.