Squid
# Squid

Squid è un popolare software libero con funzionalità di proxy e web cache, distribuito sotto la GNU General Public License. Ha una vasta varietà di usi, da quello di rendere più veloce un server web usando una cache per richieste ripetute, fornisce sia un servizio di cache per il web che per DNS e altri tipi di ricerche all'interno di reti con risorse condivise, e filtri sul traffico permesso. Sviluppato primariamente per piattaforme Unix-like, è in sviluppo da diversi anni ed è ormai considerata un'applicazione sicura e robusta. Supporta molti protocolli, ma è comunque primariamente un proxy HTTP e FTP. È inoltre disponibile un supporto per TLS, SSL, Gopher e HTTPS.

## Descrizione

### Proxy web

La funzione di caching è un modo di salvare oggetti Internet richiesti (pagine web), è disponibile via HTTP, FTP e Gopher in un sistema più vicino al sito richiedente. Il browser può usare la cache di Squid locale come un proxy HTTP server, riducendo l'accesso ai server nonché il consumo di banda. Questo è funzionale ai service provider. L'introduzione di server proxy introduce comunque anche questioni relative alla privacy dal momento che tutte le richieste che vi transitano possono essere salvate, si possono includere informazioni relative al tempo esatto, il nome e la versione ed il sistema operativo del browser che richiede la pagina.

Sul programma client (nella maggior parte dei casi un browser) può avere specificato esplicitamente il server proxy che si vuole usare o può usare un proxy senza altre specifiche configurazioni, in questo caso si parla di "proxy trasparente", nel qual caso tutte le richieste HTTP sono interpretate da Squid e tutte le risposte sono salvate. L'ultima menzionata è tipicamente una configurazione aziendale (tutti i client sono sulla stessa LAN) questo spesso introduce i problemi di privacy menzionati precedentemente.

Squid possiede alcune funzioni che possono aiutare a rendere anonime le connessioni, per esempio disabilitando o cambiando dei campi specifici nell'intestazione delle richieste HTTP. Che questi campi siano impostati o meno dipende dalla configurazione del server Squid che funziona da proxy. Le persone che richiedono pagine attraverso una rete che usa Squid in modo trasparente generalmente non sono informate sul fatto che le informazioni sono memorizzate in un registro.

### Reverse proxy

Squid può anche essere usato come reverse proxy. Un reverse proxy è un server proxy che appare al client come un server web ordinario (nessuna particolare configurazione del client è necessario). Il client effettua richieste ordinarie per il contenuto, al reverse proxy. Il reverse proxy decide dove inviare tali richieste (uno più server) e restituisce il contenuto come se esso stesso fosse l'origine.

## Compatibilità

Squid è compatibile con i seguenti sistemi operativi:

* GNU/Linux
* FreeBSD
* OpenBSD
* NetBSD
* BSDI
* macOS
* OSF and Digital Unix
* IRIX
* SunOS/Solaris
* NeXTStep
* SCO Unix
* AIX
* HP-UX

Le ultime versioni di Squid possono essere anche compilate e installate su sistemi Windows NT.

