Esistono molti tipi di server proxy. Queste tipologie possono essere raggruppate per protocollo, numero di utenti attivi (deleghe condivise, proxy privati, E procure vergini), il tipo di indirizzo IP assegnato (proxy pubblici o gratuiti, deleghe residenziali, proxy mobili, E proxy del data center) e la versione IP (Proxy IPv4 e IPv6). Questo articolo, tuttavia, si concentrerà sui proxy HTTP e HTTPS, che rientrano nella categoria proxy per protocollo.
Ma prima discutiamo dei protocolli su cui si basano i proxy HTTP e i proxy HTTPS.
Comprendere HTTP e HTTPS
Cos'è l'HTTP?
L'Hypertext Transfer Protocol o HTTP è un protocollo stateless a livello di applicazione che facilita la comunicazione tra applicazioni client (come browser Web e app Web) e server Web (o server di interfaccia utente Web).
È un protocollo di livello 7 (o protocollo di livello applicazione), il che significa che è destinato a trasmettere dati tra il server e il client e viceversa. HTTP generalmente supporta la trasmissione di diversi tipi di dati. Questi includono dati di testo, video e audio, noti collettivamente come ipermedia.
Quando un client desidera accedere a questi dati, che sono archiviati su un server, invia una richiesta HTTP. Generalmente, la richiesta HTTP contiene quanto segue:
- Una riga di richiesta che specifica il metodo HTTP (GET, POST, PUT, DELETE e così via), la versione HTTP (di seguito) e informazioni aggiuntive sulla destinazione della richiesta (nome host e porta)
- Intestazioni che memorizzano informazioni aggiuntive, ad esempio i cookie
- Corpo del messaggio di richiesta
Dopo aver ricevuto la richiesta e interpretato il messaggio, il server invia quindi una risposta HTTP contenente i dati richiesti.
Come funziona l'HTTP?
Vale la pena sottolineare che HTTP non svolge le sue funzioni in modo isolato. In effetti, funziona sopra protocolli del livello di trasporto (strato 4), come ad esempio Protocollo di controllo della trasmissione (TCP) e Protocollo datagramma utente (UDP). Inoltre è stato costruito anche sul protocollo IP allora esistente.
Da parte loro, questi protocolli di livello 4 stabiliscono, gestiscono e chiudono la comunicazione tra un server e un client (dispositivi in rete). Per dirla semplicemente, TCP e UDP consentono alle applicazioni di rete, che si trovano al di sopra del quarto livello (comprese le applicazioni che utilizzano HTTP), di creare tra loro comunicazioni client-server o punto-punto.
Una volta stabilita la comunicazione, HTTP entra ora in azione per trasmettere i dati. Il TCP o UDP gestiscono la comunicazione garantendo che funzioni senza intoppi e, una volta cessata la trasmissione dei dati, questi protocolli di livello 4 chiudono la comunicazione. In particolare, TCP e UDP utilizzano i numeri di porta per identificare le applicazioni web che "parlano" tra loro. Un altro punto da notare è che l’implementazione di HTTP/3, l’ultima versione, utilizza QUIC invece di TCP per l’aspetto della comunicazione del livello di trasporto. (QUIC è un protocollo di trasporto multiplex implementato su UDP.)
Storia dell'HTTP
HTTP è stato rilasciato per la prima volta nel 1991 dopo circa due anni di sviluppo da parte di Tim Berners-Lee e del suo team. Da allora il protocollo ha subito un Evoluzione che ha visto numerosi cambiamenti e miglioramenti, portando a diverse versioni HTTP. Queste versioni includono:
- HTTP/0.9 (introdotto nel 1991)
- HTTP/1.0 (standardizzato nel 1996)
- HTTP/1.1 (introdotto e standardizzato nel 1997)
- HTTP/2 (standardizzato nel 2015)
- HTTP/3 (introdotto nel 2022)
Cos'è l'HTTPS?
Sebbene HTTP sia un protocollo popolare ampiamente utilizzato su Internet, presenta alcune carenze, tra cui la sicurezza. Con HTTP tutte le informazioni vengono trasmesse in chiaro. Può quindi essere facilmente visualizzato dagli aggressori. Può, infatti, essere preoccupante se i dati contengono dati sensibili come informazioni sulla carta di credito, password, nomi utente, numeri di telefono, numeri di previdenza sociale, dettagli dell'indirizzo e altro ancora. Per risolvere l’enigma della sicurezza, è stato introdotto HTTPS.
Hypertext Transfer Protocol Secure (HTTPS) è un protocollo HTTP sicuro che crittografa tutti i dati trasmessi tramite HTTP. HTTPS utilizza il protocollo Secure Sockets Layer (SSL) o Transport Layer Security (TLS) per convalidare l'identità del server Web e proteggere i dati. SSL utilizza chiavi (chiavi pubbliche e private) e certificati digitali per proteggere i dati, mentre TLS si affida alla crittografia per crittografare i dati. TLS autentica inoltre sia il client che il server.
Storia dell'HTTPS
HTTPS è stato creato nel 1994. A quel tempo utilizzava principalmente SSL. Tuttavia, più tardi nel 2000, HTTPS che utilizza TLS è stato standardizzato. Secondo gli osservatori, ci sono voluti anni perché il TLS diventasse ampiamente utilizzato al di fuori dei pagamenti con carta di credito. Ciò è dovuto soprattutto al fatto che i certificati TLS richiedono ulteriori conoscenze tecniche per l'installazione e sono costosi. Di conseguenza, non erano realizzabili, soprattutto per i siti più piccoli. Ma il panorama è cambiato, con servizi di web hosting e società cloud che lanciano programmi di certificati di crittografia gratuiti e offrono HTTPS gratuitamente. Entro il 2017, metà del web era crittografata.
Dopo aver chiarito le nozioni di base, concentriamoci ora su cos'è un proxy HTTP e cos'è un proxy HTTPS, sulle loro somiglianze, differenze e sui loro usi.
Cos'è un proxy HTTP?
Prima di spiegare cos'è un proxy HTTP, capiamo innanzitutto cos'è un server proxy. Un server proxy o proxy è un intermediario che si trova tra un client Web e un server Web. Funziona instradando il traffico Internet attraverso se stesso e, nel processo, agisce come originatore delle richieste e terminatore delle risposte. In genere, esistono numerosi server proxy, ciascuno progettato per svolgere una funzione specifica.
Esistono infatti proxy configurati per agire per conto del cliente in modo tale da essere percepiti come originatori delle richieste e terminatori delle risposte. Tali proxy sono noti come proxy forward. D'altra parte, alcuni proxy possono essere configurati per agire per conto del server. Nell'espletare questo ruolo, sembrano essere il punto in cui terminano le richieste e hanno origine le risposte. Tali proxy sono noti come proxy inversi. Per inciso, i proxy HTTP possono agire sia come proxy diretti che come proxy inversi, a seconda della posizione in cui avviene la configurazione.
Allora, cos'è un server proxy HTTP? È un server proxy che instrada solo il traffico HTTP attraverso se stesso. Il proxy HTTP è un tipo di proxy basato su protocollo accanto proxy SOCKS5. Tuttavia, a differenza del proxy SOCKS5, che è essenzialmente destinato a facilitare la comunicazione attraverso un firewall, il proxy HTTP è destinato a fungere da filtro dei contenuti ad alte prestazioni.
Il proxy HTTP normalmente ascolta il traffico HTTP attraverso le porte 80, 8080, 8008 e 3128. Può anche ascoltare il traffico HTTPS tramite porto 3129. Sebbene venga utilizzato principalmente in modo isolato, puoi collegarlo a un proxy esistente, in particolare se l'applicazione che stai configurando utilizza già un server proxy. Questa disposizione crea un proxy concatenato.
Tipi di proxy HTTP
Esistono due tipi di proxy HTTP, vale a dire:
1. Proxy client HTTP
In genere, un proxy client HTTP inoltra le richieste a se stesso (come intermediario) prima di inoltrarle a un server o a una destinazione. Essa, pertanto, risulta essere l'originatrice delle richieste.
Un proxy client HTTP instrada attraverso se stesso tutte le richieste HTTP in uscita e le risposte HTTP in entrata. Durante il processo interpreta tutto il contenuto della richiesta e della risposta HTTP. Può anche modificare determinati contenuti della richiesta HTTP purché siano conformi al file Linee guida per i proxy di trasformazione dei contenuti Web. In genere, i proxy client HTTP modificano intestazioni HTTP specifiche, tra cui user-agent, accetta, accetta-charset, accetta-encoding, accetta-lingua, x-forwarded-for e via. Può anche convertire il metodo di richiesta da HEAD a GET e viceversa.
Configurare il tuo sistema e, per estensione, il browser web per utilizzare un proxy client HTTP (ne parleremo più avanti) fa alcune cose. Innanzitutto, modifica l'endpoint TCP (porta e nome host) negli URL HTTP in quello che appartiene al provider del proxy HTTP. Di conseguenza, viene prima stabilita una connessione TCP a una porta e a un host diversi (la porta e l'host del proxy) diversi da quello negli URL HTTP prima di essere inviata all'host e alla porta originali/reali. Questo perché il proxy non altera il contenuto del messaggio, che contiene l'host e la porta reali. Di conseguenza, un proxy HTTP può ricevere richieste su un'unica porta per poi inoltrarle, insieme ai messaggi in essa contenuti, a diversi server e siti web in base ai dati di destinazione contenuti nei messaggi HTTP.
2. Proxy del server HTTP
In alcuni casi, alcune applicazioni, come quelle presenti su un server Web, non possono essere configurate come originatrici e devono invece essere configurate come endpoint. Di conseguenza, appaiono ai client Web come la destinazione delle richieste. Quando queste applicazioni sono configurate come endpoint, sono note come proxy del server HTTP.
Tipi di proxy HTTP classificati in base all'anonimato
I proxy HTTP differiscono nel grado di anonimato. Si possono distinguere i seguenti tipi di proxy HTTP:
- Deleghe trasparenti: Con i proxy trasparenti l'utente solitamente non si accorge che sta utilizzando una connessione proxy. La connessione proxy è visibile solo all'operatore del sito web o al fornitore di servizi. Il vantaggio principale dei proxy trasparenti è che aumentano la velocità di connessione memorizzando i dati nella cache.
- Proxy anonimi: Con i proxy anonimi il tuo indirizzo IP è nascosto. In questo caso, il sito web di destinazione può vedere che stai utilizzando un proxy, ma non il tuo indirizzo IP effettivo.
- Procure distorcenti: Un server proxy di questo tipo può essere identificato come proxy da un sito Web di destinazione, ma comunicherà un indirizzo IP errato.
- Proxy d'élite: si tratta di proxy anonimi che eliminano i dati dell'utente prima che il proxy tenti di connettersi al sito Web di destinazione. Con questi tipi di proxy il sito web di destinazione non può rilevare l'utilizzo di un proxy né identificare l'indirizzo IP dell'utente.
Tutti rispettabili fornitori di proxy che dispongono di proxy HTTP offrono solo proxy d'élite.
Come impostare un proxy HTTP
Questa sezione si concentrerà principalmente su come creare un proxy client HTTP. Viene creato configurando un client Web (browser) per instradare il traffico HTTP attraverso un intermediario. Tuttavia, vale la pena notarlo Cromo,Safari, Mozilla Firefoxe altri browser popolari non dispongono di impostazioni del server proxy in-app (native).
Invece, quando fai clic sulle impostazioni del programma e scegli l'opzione proxy, ti reindirizza alla finestra di configurazione del proxy Windows, macOS o Linux. A questo proposito, per creare un proxy HTTP è sufficiente configurare il proprio sistema operativo. In questo modo verrà creato un proxy HTTP a livello di sistema che funziona con tutte le altre app Web, non solo con il tuo browser preferito.
Per configurare un proxy HTTP su Windows, seguire la procedura seguente:
- Apri Windows' Impostazioni > Seleziona Rete e Internet > Scegli il della Germania scheda. In alternativa, puoi utilizzare il browser per aprire la scheda Proxy.
- Dirigiti al Configurazione manuale del proxy sezione
- Nel campo dell'indirizzo, inserisci l'IP o l'indirizzo dell'host proxy. Inoltre, inserisci la porta proxy. Il tuo provider proxy dovrebbe fornirti i dettagli.
- Nella casella "Utilizza il server proxy ad eccezione degli indirizzi che iniziano con le seguenti voci", inserisci l'URL del tuo fornitore di servizi proxy
- Quindi, controlla il Non utilizzare il server proxy per indirizzi locali (intranet).
- Clic Salva
Per configurare un proxy HTTP su macOS, ecco i passaggi da seguire:
- Clic Preferenze di Sistema > Scegli Rete > Fare clic su Avanzate > Selezionare il Procure scheda. In alternativa, puoi utilizzare il tuo client web, che aprirà automaticamente il file Procure scheda
- Quindi, attiva/disattiva Proxy Web (HTTP) opzione
- Inserisci l'IP e la porta del Proxy del server Web (proxy HTTP). In genere, dovresti inserire l'IP del tuo fornitore di servizi proxy e inserire le porte 80, 8080 o 8008 nel campo.
- Digitare il nome utente e la password del proxy HTTP. Il nome utente e la password devono essere gli stessi delle credenziali che utilizzi per accedere all'account che hai con il tuo fornitore di servizi.
- Clic OK.
Se la sicurezza è una considerazione fondamentale durante la navigazione sul Web, il proxy HTTP non è l’ideale. Quello che idealmente dovresti cercare è un proxy HTTPS.
Cos'è un proxy HTTPS?
Conosciuto anche come proxy SSL, un proxy HTTPS è un intermediario che ascolta solo il traffico HTTPS sulla porta 443. Di conseguenza, instrada il traffico HTTPS solo attraverso se stesso. Come affermato sopra, HTTPS crittografa i dati trasmessi attraverso il protocollo. Ciò significa effettivamente che tutti gli elementi delle richieste e delle risposte HTTP, comprese le intestazioni e i messaggi, sono nascosti dietro una chiave crittografica. Pertanto, possono essere visualizzati o interpretati solo all'endpoint o al punto terminale. Affinché un intermediario, come un proxy HTTPS, possa interpretare i dati, deve essere configurato come endpoint.
A questo proposito, un proxy HTTPS è configurato per fungere da endpoint di una connessione TLS o SSL. Decripta quindi le richieste, interpreta i contenuti, modifica alcuni aspetti delle richieste, le crittografa e, infine, le inoltra alla destinazione reale contenuta nel messaggio HTTP. Come affermato in precedenza, il protocollo HTTPS utilizza i certificati. Di conseguenza, il proxy HTTPS deve crittografare il traffico con il certificato corretto (certificato client o server) prima di inviarlo alla destinazione prevista. In particolare, se il proxy HTTPS non è configurato come endpoint, non dovrebbe alterare il contenuto dell'intestazione o della richiesta HTTP, come stabilito dalle Linee guida per i proxy di trasformazione dei contenuti Web.
I proxy HTTPS vengono generalmente utilizzati per proteggere server Web o client Web eseguendo la crittografia.
Tipi di proxy HTTPS
Esistono due tipi di proxy HTTPS:
1. Proxy client HTTPS
Un proxy client HTTPS facilita le connessioni da un client Web o da una rete interna a Internet. Per configurare un proxy client HTTPS, è necessario importare un certificato client per l'utilizzo da parte del dispositivo su cui è installato il proxy. Ciò consente all'intermediario di decrittografare e crittografare i dati come se fosse l'originatore delle richieste o il terminatore delle risposte.
2. Proxy del server HTTPS
Un proxy server HTTPS consente le connessioni da client Web esterni a server Web interni tramite Internet. Un proxy server HTTPS differisce da un proxy server HTTP perché il primo utilizza certificati, mentre il secondo no. Per configurare un proxy server HTTPS, è importante esportare nel proxy il certificato predefinito utilizzato dal server Web. Il certificato consente al proxy del server HTTPS di crittografare e decrittografare i dati.
Come impostare un proxy HTTPS
La configurazione di un proxy HTTPS segue le procedure descritte sopra, con solo lievi differenze riguardo alle porte utilizzate. Assicurati sempre di aver inserito 443 nel campo della porta ogni volta che crei un proxy HTTPS. Se utilizzi un dispositivo macOS, tieni presente che devi selezionare il file Proxy Web sicuro (HTTPS) opzione invece di Proxy Web (HTTP). Per il resto la procedura è sostanzialmente la stessa.
Quanto è sicura una connessione tramite un proxy HTTPS?
Quando un utente che utilizza un proxy HTTPS apre una pagina web con un'icona a forma di lucchetto a sinistra della barra degli indirizzi, l'intera connessione tra il browser dell'utente e il server del sito di destinazione viene crittografata (crittografia SSL):
Ciò significa che tutti i dati inseriti dall'utente sulla tastiera (login e password, numeri di carta di credito, ecc.), le immagini e i video scaricati, caricati o trasmessi in streaming rimangono assolutamente privati.
Browser <- > Proxy HTTPS <-> Pagina di destinazione
Ciò significa che sono noti solo all'utente e al proprietario del sito web di destinazione.
Il servizio proxy può “ascoltare” il traffico?
No, questo è tecnicamente impossibile. Il provider proxy può solo immaginare che l'utente stia tentando di hackerare le password degli account su qualsiasi sito web. Ciò risulta evidente dalla frequenza di accesso alla pagina di login del sito di destinazione. Ciò accadrà se l'utente lo fa ad una frequenza di un milione di volte al minuto utilizzando un programma di forza bruta.
Proxy HTTP e proxy HTTPS: somiglianze e differenze
Somiglianze tra proxy HTTP e HTTPS
- Possono essere configurati sia sul lato client che sul lato server
- I proxy HTTP e HTTPS interpretano i dati trasmessi attraverso di essi
- I proxy ascoltano il traffico tramite le porte
- I proxy lato client inoltrano tutte le richieste alla destinazione di destinazione
- I proxy lato client possono essere utilizzati per facilitare il web scraping
Differenze tra proxy HTTP e HTTPS
Proxy HTTP | Proxy HTTPS | |
Porti | Usano le porte 80, 8080, 8008, 3128 o 3129 | Usano la porta 443 |
Sicurezza | I proxy HTTP instradano dati non crittografati | I proxy HTTPS instradano i dati crittografati |
Protocollo | Utilizzano principalmente il protocollo HTTP | Utilizzano principalmente il protocollo HTTPS |
Traffico | Possono ascoltare sia il traffico HTTP (tramite le porte 80, 8080, 8008, 3128) che HTTPS (tramite la porta 3129) | Possono solo ascoltare il traffico HTTPS tramite la porta 443 |
Usi dei proxy HTTP e HTTPS
Usi dei proxy client HTTP e dei proxy client HTTPS
1. Raschiamento Web
Raschiamento del web si riferisce al processo automatizzato di estrazione dei dati dai siti Web utilizzando bot noti come web scraper. Di solito, questi bot sono progettati per estrarre grandi volumi di dati, il che può mettere a dura prova i server web usurpando inutilmente le risorse. Per questo motivo, la maggior parte dei siti Web di grandi dimensioni sta ora implementando misure anti-scraping volte a fermare qualsiasi tentativo di estrazione dei dati. Fortunatamente, puoi aggirare questo problema utilizzando i proxy HTTP.
I proxy HTTP vengono per lo più trascurati quando si tratta di estrazione dei dati. Questo perché sono preferiti i proxy residenziali, i proxy mobili o i proxy dei data center poiché mascherano l'indirizzo IP del computer su cui è in esecuzione lo scraper. Assegna contemporaneamente un indirizzo IP diverso, fornendo effettivamente l'anonimato online. Inoltre, protegge il vero indirizzo IP dal blocco o dal divieto. Se l'indirizzo IP viene ruotato periodicamente, le possibilità di blocco si riducono ulteriormente. Ma questo articolo non riguarda i proxy residenziali o di data center. Quindi, come vengono utilizzati i proxy HTTP e HTTPS nel web scraping?
Come affermato, un proxy HTTP o HTTPS può modificare alcune intestazioni delle richieste HTTP. Questi includono user-agent, Accept-Language, Accept-Encoding e Accept, solo per citarne alcuni. L'agente utente memorizza informazioni sul sistema operativo (tipo e versione), sull'applicazione client in uso (browser Web) e sul motore del browser. Queste informazioni consentono a un server web di identificare il tipo di dispositivo e software utilizzato per accedervi. Quindi utilizza queste informazioni per creare un'identità online associata all'utente. Modificando lo user-agent, un proxy HTTP e un proxy HTTPS possono far sembrare che le richieste provengano da dispositivi diversi. Ciò aumenta il web scraping, poiché le richieste di estrazione dei dati sembrano essere state inviate da più dispositivi.
2. Filtrazione dei contenuti
Un proxy client HTTP o un proxy client HTTPS può essere configurato per inoltrare solo richieste specifiche: tali richieste devono soddisfare determinate regole. Ad esempio, devono essere inviati attraverso porte specificate. L'accesso viene negato se il client HTTP utilizza una porta diversa da 80, 8080, 8008, 3128 o 3129.
Inoltre, devi specificare i tipi di contenuto che il proxy HTTPS o HTTP dovrebbe esaminare mentre esamina il traffico da e verso un client. Il traffico viene bloccato se il contenuto non corrisponde ai criteri specificati nelle impostazioni. Al contrario, se il contenuto corrisponde, allora può passare attraverso l'intermediario.
3. Protezione della comunicazione
È possibile configurare un proxy HTTP per convertire i dati in ingresso da testo normale a dati in uscita sicuri e crittografati che possono essere accettati dai server HTTPS. Tuttavia, questa configurazione è insolita, ma implica l'uso della porta 3130, che è la porta che gestisce la comunicazione da testo normale a SSL.
D'altra parte, i proxy HTTPS proteggono la comunicazione crittografandola. In questo modo, i proxy HTTPS promuovono la sicurezza informatica, poiché riducono le possibilità di attacchi informatici.
4. Gestione dei social media
Ormai è risaputo che i proxy HTTP modificano alcuni aspetti dell'intestazione HTTP. Pertanto, cambiando lo user-agent, questi intermediari possono creare l’illusione che le richieste provengano da dispositivi diversi. Ciò può consentire agli utenti di creare e gestire più account di social media.
Usi dei proxy server HTTP e dei proxy server HTTPS
1. Limitazione del traffico verso il server Web
I proxy lato server possono essere configurati per accettare traffico che soddisfa determinate regole. Pertanto, bloccano il traffico non conforme ai requisiti. In questo modo, proteggono il server assicurando che non elabori richieste non necessarie.
2. Protezione del server Web
I proxy lato server possono decrittografare i dati dei client Web e successivamente interpretarli. Questa azione consente loro di filtrare le richieste, scansionandole alla ricerca di malware o altri file dannosi. Di conseguenza, salvaguardano il server web dagli attacchi informatici.
3. Memorizzazione nella cache dei file ad accesso frequente
I proxy del server HTTP e i proxy del server HTTPS possono archiviare file a cui si accede frequentemente come immagini e pagine. Ciò libera il server web, consentendogli di dedicare risorse ad altre operazioni meno comuni. Aumenta anche la velocità di caricamento delle pagine web.
Conclusione
I proxy HTTP e HTTPS sono intermediari utili, in particolare dal punto di vista della sicurezza e del filtraggio dei contenuti. In effetti, vengono definiti filtri di contenuti ad alte prestazioni. Questo perché possono essere configurati per consentire il passaggio solo di traffico Internet specifico. Questi proxy svolgono anche numerose altre funzioni, tra cui la protezione dei server Web, l'archiviazione di file a cui si accede frequentemente, la gestione dei social media, il web scraping e altro ancora.