HTTP o SOCKS5: differenze tra i protocolli proxy e quale usare
Pubblicato il · 3 min di lettura
Quando configuri un proxy ti viene chiesto quasi sempre il tipo: HTTP o SOCKS5. Entrambi funzionano con quasi tutto, ma non sono uguali. Ecco cosa cambia e come scegliere in pochi secondi.
Come funziona un proxy HTTP
Un proxy HTTP parla il linguaggio del web. Il tuo programma gli chiede una pagina e il proxy la richiede al posto tuo. Per i siti in HTTPS, cioè quasi tutti, il programma usa il metodo CONNECT: chiede al proxy di aprire un tunnel verso il sito, poi ci fa passare dentro la connessione cifrata. Da quel momento il proxy inoltra solo byte che non può leggere.
È il tipo più compatibile: lo supportano browser, sistemi operativi, librerie per script e quasi tutti i programmi che hanno un'impostazione "proxy".
Come funziona un proxy SOCKS5
SOCKS5 lavora a un livello più basso: non sa cosa sia una pagina web, inoltra connessioni TCP verso qualsiasi indirizzo e porta. Per questo va bene anche per traffico che non è web, come client di posta, app o protocolli personalizzati. Il protocollo prevede anche il traffico UDP, ma il supporto dipende dal fornitore e dal programma.
Un dettaglio importante è il DNS. Con SOCKS5 il nome del sito può essere risolto dal proxy invece che dal tuo computer: così anche le richieste DNS escono dalla rete mobile e non dalla tua connessione. In cURL e Python si ottiene con lo schema socks5h:// (la «h» sta per hostname).
Confronto
| HTTP | SOCKS5 | |
|---|---|---|
| Livello | Applicazione (web) | Sessione (qualsiasi TCP) |
| Siti HTTPS | Sì, tramite tunnel CONNECT | Sì |
| Traffico non web | No | Sì |
| Risoluzione DNS | Fatta dal proxy per le richieste via tunnel | Dal proxy con socks5h, altrimenti locale |
| Compatibilità | Massima | Molto alta |
| Autenticazione | Utente e password | Utente e password |
La sicurezza: cosa vede il proxy
Con un sito HTTPS il contenuto delle pagine, le password e i cookie sono cifrati dal tuo programma fino al sito, sia con HTTP sia con SOCKS5. Il proxy vede solo a quale sito ti colleghi e quanto traffico passa.
Con un sito in semplice HTTP (sempre più raro) un proxy HTTP potrebbe leggere e modificare il contenuto. Vale per qualsiasi rete che attraversi, non solo per i proxy: preferisci sempre HTTPS.
Quale scegliere
- Antidetect browser (AdsPower, Multilogin, GoLogin, Dolphin{anty}): SOCKS5, così anche il DNS passa dal proxy. Vanno bene entrambi, purché il tipo coincida con quello impostato sul proxy.
- Browser normale: HTTP è il più semplice da configurare; Firefox supporta bene anche SOCKS5 con DNS remoto (vedi la guida per Firefox).
- Script (cURL, Python, Node.js): entrambi; con SOCKS5 usa
socks5h://. - App e traffico non web: SOCKS5.
Esempi pratici
# HTTP
curl -x http://UTENTE:PASSWORD@HOST:PORTA https://api.ipify.org
# SOCKS5 con DNS dal proxy
curl -x socks5h://UTENTE:PASSWORD@HOST:PORTA https://api.ipify.orgimport requests # per SOCKS5: pip install "requests[socks]"
proxy = "socks5h://UTENTE:PASSWORD@HOST:PORTA"
r = requests.get("https://api.ipify.org", proxies={"http": proxy, "https": proxy}, timeout=30)
print(r.text)Altri esempi completi sono nelle guide per cURL, Python e Node.js.
Domande frequenti
SOCKS5 è più veloce di HTTP?
La differenza è minima: per siti HTTPS entrambi inoltrano un tunnel cifrato. La velocità dipende soprattutto dalla rete del proxy.
Che cos'è SOCKS4?
Una versione vecchia del protocollo, senza autenticazione con password e senza IPv6. Oggi si usa SOCKS5.
Perché la connessione fallisce con «proxy error»?
Nella maggior parte dei casi il tipo scelto nel programma non coincide con quello del proxy, oppure c'è un errore in utente o password. Controlla i dati nella sezione Connessione del proxy.
Prova un proxy mobile 5G
Smartphone dedicato, traffico illimitato, IP reali di operatori. Attivo in pochi minuti.
Scopri i piani