Caching Proxy può essere configurato come server caching proxy inverso (configurazione predefinita) o come server caching proxy diretto. Se utilizzato da host di contenuto, Caching Proxy viene configurato come server caching proxy inverso, ubicato tra Internet e gli host di contenuto dell'azienda. Se utilizzato dai provider di accesso a Internet, Caching Proxy viene invece configurato come server caching proxy diretto, tra un client e Internet.
Quando si utilizza una configurazione di proxy inverso, le macchine di Caching Proxy sono ubicate tra Internet e gli host di contenuto dell'azienda. Come sostituto, server proxy intercetta le richieste degli utenti provenienti da Internet, le inoltra all'host di contenuti appropriato, memorizza nella cache i dati restituiti e li distribuisce agli utenti su Internet. La memorizzazione nella cache consente a Caching Proxy di soddisfare le successive richieste, relative al medesimo contenuto, direttamente dalla cache, un metodo molto più veloce rispetto a quello che prevede di richiamarlo nuovamente dall'host di contenuti. Le informazioni possono essere memorizzate nella cache in base alla data di scadenza, alla dimensione della cache e alla data prevista per il loro aggiornamento. Tempi di download più veloci per gli accessi alla cache corrispondono a una maggiore qualità del servizio per i clienti. La Figura 1 illustra questa funzionalità fondamentale di Caching Proxy.
Legenda: 1--Client 2--Internet 3--Router/Gateway 4--Caching Proxy 5--Cache 6--Host di contenutiIn questa configurazione, il server proxy (4) intercetta le richieste i cui URL contengono il nome dell'host di contenuti ( 6). Quando un client (1) richiede un file X, la richiesta passa attraverso Internet (2) ed entra nella rete interna dell'azienda mediante il gateway Internet ( 3). Il server proxy intercetta la richiesta e ne genera una nuova con il proprio indirizzo IP e quello di origine e la invia all'host di contenuti (6).
L'host di contenuti restituisce il file X al server proxy anziché inviarlo direttamente all'utente finale. Se il file è memorizzabile nella cache, il Caching Proxy lo copia nella propria cache (5) prima di inviarlo all'utente finale. L'esempio più rilevante di contenuto memorizzabile nella cache è rappresentato dalle pagine Web statiche; tuttavia Caching Proxy consente di memorizzare nella cache e di supportare anche i contenuti dinamici generati da WebSphere Application Server.
L'accesso a Internet degli utenti finali può non essere efficiente. Ogni utente che utilizza un determinato file da un server Web genera la stessa quantità di traffico sulla rete e mediante il gateway Internet del primo utente che ha utilizzato il file, anche se il file non è stato modificato. La soluzione consiste nell'installare un Caching Proxy diretto sul gateway.
Quando si utilizza una configurazione di proxy diretto, le macchine di Caching Proxy sono ubicate tra il client e Internet. Caching Proxy inoltra la richiesta di un client agli host del contenuto su Internet, memorizza nella cache i dati richiamati e distribuisce i dati richiamati sul client.
Figura 2 illustra la configurazione Caching Proxy diretta. I browser dei client (sulle macchine 1) sono configurati per indirizzare le richieste al caching proxy diretto (2), configurato per intercettare le richieste. Quando un utente finale richiede il file X memorizzato sull'host del contenuto (6), il caching proxy diretto intercetta la richiesta, genera una nuova richiesta con il proprio indirizzo IP come indirizzo di origine e invia la nuova richiesta mediante il router dell'azienda (4) su Internet (5).
In questo modo, il server di origine restituisce il file X al caching proxy diretto piuttosto che direttamente all'utente finale. Se la funzione di memorizzazione nella cache del Caching Proxy diretto è abilitata, Caching Proxy determina se il file X può essere memorizzato nella cache controllandone le impostazioni nell'intestazione di restituzione, come ad esempio la data di scadenza e un'indicazione se il file è stato generato dinamicamente. Se il file può essere memorizzato nella cache, il Caching Proxy ne memorizza una copia nella cache (3) prima di inviarlo all'utente finale. Per impostazione predefinita, la memorizzazione nella cache è abilitata e il Caching Proxy diretto utilizza una cache di memoria; tuttavia, è possibile configurare altri tipi di memorizzazione nella cache.
Per la prima richiesta del file X, il Caching Proxy diretto non migliora di molto l'efficienza dell'accesso a Internet. In realtà, il tempo di risposta per il primo utente che accede al file X è probabilmente inferiore rispetto al tempo che si avrebbe senza il caching proxy diretto, in quanto è necessario più tempo perché il Caching Proxy diretto elabori il package di richieste originale ed esamini l'intestazione del file X relativamente alle informazioni sulla memorizzazione nella cache una volta ricevuto il file. L'utilizzo del caching proxy diretto porta a dei vantaggi quando altri utenti richiedono successivamente il file X. Il Caching Proxy diretto controlla che la propria copia memorizzata nella cache del file X sia ancora valida (ovvero che non sia scaduta) ed eventualmente lo utilizza direttamente dalla cache, senza inoltrare le richiestra su Internet all'host del contenuto.
Anche se il Caching Proxy diretto rileva che un file richiesto è scaduto, il proxy non necessariamente riutilizzare il file dall'host del contenuto. Invece invia un messaggio di controllo di stato speciale all'host del contenuto. Se l'host indica che il file non è stato modificato, il caching proxy diretto può consegnare la versione memorizzata nella cache all'utente richiedente.
La configurazione del Caching Proxy diretto in questo modo è detta proxy diretto, in quanto Caching Proxy opera per conto dei browser, inoltrando le richieste agli host del contenuto via Internet. I vantaggi dell'utilizzo di un proxy diretto con la memorizzazione nella cache sono di due tipi:
Il Caching Proxy può utilizzare diversi protocolli di trasferimento di rete, compreso HTTP (Hypertext Transfer Protocol, FTP (File Transfer Protocol) e Gopher.
Una variazione del Caching Proxy diretto è il Caching Proxy trasparente. In questo ruolo, il Caching Proxy esegue le stesse funzioni di un Caching Proxy diretto di base, ma le esegue senza che il client si accorga della sua presenza. La configurazione trasparente di Caching Proxy è supportata solo su sistemi Linux.
Nella configurazione descritta in Caching Proxy diretto, ogni browser del client viene configurato separatamente in modo da indirizzare le richieste a un determinato Caching Proxy diretto. la presenza di una tale configurazione può diventare sconveniente, specialmente per un numero elevato di macchine client. Il Caching Proxy supporta diverse alternative che semplificano la gestione. Una possibilità è quella di configurare il Caching Proxy con proxy trasparente come rappresentato in Figura 3. Come con il Caching Proxy diretto regolare, il Caching Proxy trasparente viene installato su una macchina del gateway, ma i browser del client non sono configurati per indirizzare le richieste a un Caching Proxy diretto. I client non sono a conoscenza della presenza di un proxy nella configurazione. Invece, è configurato un router che intercetta le richieste dei client e le indirizza al Caching Proxy trasparente. Quando un client su una di queste macchine, detto 1, richiede il file X memorizzato sull'host del contenuto (6), il router (2) invia la richiesta al Caching Proxy. Caching Proxy genera una nuova richiesta con il proprio indirizzo IP come indirizzo di origine e la invia mediante il router (2) su Internet (5). Quando il file X arriva, il Caching Proxy lo memorizza nella cache come appropriato (in base alle condizioni descritte in Caching Proxy diretto) e lo invia al client richiedente.
Per le richieste HTTP, un'altra possibile alternativa a conservare le informazioni di configurazione proxy su ciascun browser consiste nell'utilizzare la configurazione proxy automatica disponibile in diversi browser, tra cui Netscape Navigator versione 2.0 e superiore e Microsoft Internet Explorer versione 4.0 e superiore. In questo caso, viene creata una o più configurazione automatica del proxy centrale (proxy automatic configuration, PAC) e vengono configurati i browser in modo da fare riferimento a una di queste configurazione piuttosto che alle informazioni di configurazione del proxy locale. Il browser invia automaticamente una notifica delle modifiche apportate alla PAC e regola l'utilizzo del proxy di conseguenza. Ciò non solo elimina la necessità di mantenere informazioni sulle configurazioni separate su ogni browser, ma semplifica anche il reindirizzamento delle richieste quando un server proxy diventa non disponibile.
Una terza alternativa consiste nell'utilizzare il meccanismo Web Proxy Auto Discovery (WPAD) disponibile in alcuni browser, come Internet Explorer versione 5.0 e superiore. Quando si abilita questa funzione sul browser, questo individua automaticamente un server proxy conforme a WPAD sulla rete e vi indirizza le richieste Web. Non è necessario conservare i file di configurazione proxy centrale in questo caso. Caching Proxy è conforme a WPAD.