Tutte le posizioni attive · 99.99% uptime
Protocolli

Il meccanismo di caching del proxy HTTP

Il caching è una delle funzioni più antiche del proxy: invece di scaricare più volte lo stesso contenuto, se ne conserva una copia e si risponde localmente alle richieste successive. Con la diffusione di HTTPS l'ambito di questa funzione si è ristretto, ma non è scomparso del tutto — e nella tua pipeline di raccolta dati resta una fonte di risparmio importante.

Flusso di base

FIGURAFlusso di una richiesta in un proxy con cache
FLUSSOClientProxycacheServer di origineArriva la richiestaÈ presente in cache?Se non c'è, vai all'origineConserva la rispostaInoltra al clientAlla seconda richiesta si eseguono solo i primi due passaggi

In caso di cache hit non si raggiunge affatto il server di origine. È un guadagno in termini di velocità, banda e carico sul server di destinazione.

Chi decide che cosa viene conservato?

La decisione spetta al server, che la comunica con l'header Cache-Control :

DirettivaSignificatoComportamento del proxy
publicLa cache condivisa può conservarloConserva
privateSolo il browser può conservarloNon conserva
no-storeNon va conservato affattoNon conserva
no-cachePuò essere conservato ma va convalidato a ogni usoEffettua una richiesta condizionale
max-age=3600Considerato fresco per 3600 secondiPer tutta la durata non contatta l'origine
s-maxage=600Durata separata per la cache condivisaHa la precedenza su questo valore
La direttiva spesso confusa

no-cachenon significa "non conservare affatto" — significa "conserva ma verifica prima di usare". L'equivalente di "non conservare affatto" è no-store.

Richieste condizionali: 304 Not Modified

Quando la copia in cache invecchia, il proxy non è obbligato a riscaricare il contenuto da zero. Chiede al server: "la versione che ho è ancora valida?":

FIGURARichiesta condizionale e risposta 304
CONVALIDAProxyServer di origineGET /pagina · If-None-Match: "abc123"304 Not Modified (nessun corpo)Solo poche centinaia di byteViene usata la copia in cache

La risposta 304 non contiene corpo; tornano solo gli header. Significa ridurre una pagina da 500 KB a 300 byte.

Usare questo meccanismo nella tua pipeline di raccolta dati riduce sensibilmente il costo della banda .

Come ha inciso HTTPS sulla cache?

Quando viene stabilito un tunnel CONNECT il proxy non può vedere i contenuti — e quindi non può nemmeno metterli in cache. Poiché quasi tutto il web è passato a HTTPS, il classico caching proxy è rimasto in gran parte inutilizzabile.

FIGURACaching: HTTP e HTTPS
IMPATTOHTTP in chiaroHTTPS (CONNECT)Il proxy vede il contenutoNoPuò metterlo in cacheNoEffettua una richiesta condizionaleNoRisparmio di bandaAltoNoQuota attualeMolto bassoQuasi la totalità

Per questo il caching moderno è uscito dal livello proxy e si è spostato sul livello CDN e client.

Realizzare la propria cache

Se il caching proxy non è utilizzabile, puoi ottenere lo stesso vantaggio all'interno della tua applicazione. Nelle pipeline di raccolta dati è molto efficace:

FIGURARichiesta condizionale basata su ETag
Python — semplice cache delle richieste01import requests, json, hashlib, pathlib0203CACHE = pathlib.Path("onbellek"); CACHE.mkdir(exist_ok=True)0405def anahtar(url):06 return hashlib.sha1(url.encode()).hexdigest()0708def getir(url, session):09 dosya = CACHE / (anahtar(url) + ".json")10 basliklar = {}11 onceki = None12 if dosya.exists():13 onceki = json.loads(dosya.read_text(encoding="utf-8"))14 if onceki.get("etag"):15 basliklar["If-None-Match"] = onceki["etag"]1617 r = session.get(url, headers=basliklar, timeout=25)18 if r.status_code == 304 and onceki:19 return onceki["govde"] # traffico: poche centinaia di byte2021 kayit = {"etag": r.headers.get("ETag"), "govde": r.text}22 dosya.write_text(json.dumps(kayit), encoding="utf-8")23 return r.text

Questo semplice livello evita di riscaricare più volte pagine che cambiano di rado. Su risorse tariffate a GB come i residential proxy il risparmio si riflette direttamente in fattura.

Quando il caching è sbagliato?

Cache adatta

  • Pagine di prodotto e categoria che cambiano di rado.
  • Dati di riferimento statici.
  • Lavori che scaricano la stessa pagina più volte al giorno.
  • Fase di sviluppo e test (preserva la quota).

Cache sbagliata

  • Monitoraggio di prezzi e disponibilità in tempo reale.
  • Contenuti personalizzati.
  • Pagine che richiedono una sessione.
  • Attività SEO che seguono le variazioni di posizionamento.
Attenzione

Lavorare con dati obsoleti presi dalla cache può produrre risultati peggiori del non raccogliere dati affatto. Negli ambiti sensibili al tempo, come prezzi e disponibilità, mantieni durate di cache molto brevi oppure non usarla affatto.

Riepilogo

Con la diffusione di HTTPS il caching proxy ha in gran parte perso la sua funzione classica, perché in un tunnel CONNECT il proxy non vede i contenuti. In compenso è ancora possibile — e molto utile — costruire la stessa logica nel tuo livello applicativo. Le richieste condizionali basate su ETag eliminano quasi tutto il traffico sui contenuti che cambiano di rado. Sui dati sensibili al tempo, invece, la cache va evitata. Per il calcolo dei consumi vedi il nostro articolo sulla banda puoi consultarlo.

Domande frequenti

01Un proxy può mettere in cache il traffico HTTPS?

No. In un tunnel CONNECT il proxy trasporta byte cifrati e non può vedere i contenuti; di conseguenza non può nemmeno conservarli. Poiché quasi tutto il web è HTTPS, il classico caching proxy ha perso in larga parte validità.

02Qual è la differenza tra no-cache e no-store?

no-cache significa "conserva ma verifica prima di usare"; no-store significa invece "non conservare affatto". I due vengono spesso confusi e producono comportamenti diversi.

03Quanto fa risparmiare un 304 Not Modified?

Poiché il corpo della risposta non viene inviato affatto, si trasferiscono solo poche centinaia di byte di header. Per una pagina da 500 KB significa ridurre il traffico a un millesimo.

04Devo implementare una mia cache?

Se scarichi ripetutamente le stesse pagine, decisamente sì. Soprattutto se usi residential proxy tariffati a GB, il risparmio si riflette direttamente in fattura.

05Posso usare la cache nel monitoraggio dei prezzi?

Non usarla, oppure mantieni durate molto brevi. Dati di prezzo obsoleti portano a decisioni sbagliate e possono essere più dannosi del non raccogliere dati affatto.

Articoli e pagine correlati

PROSSIMO PASSO

Potenzia oggi la tua infrastruttura proxy.

Inizia in pochi minuti con i pacchetti a pagamento oppure prova prima il nostro elenco di proxy gratuiti.

FREEPROXY.TR

Se cerchi proxy gratuiti, sei nel posto giusto

Una piattaforma proxy completa dove consultare indirizzi proxy gratuiti aggiornati, confrontare i tipi di proxy HTTP e SOCKS e verificare le tue connessioni proxy con strumenti gratuiti.