ToolBox Logo  home  up


Piccolo Cane

posta


 
 
 
Risparmiare (moltissimo) usando la cache del browser
 
 
  L'idea di cache è una delle più utilizzate nell'informatica, sia a livello di programmi che di hardware. Sostanzialmente si tratta di questo: quando un programma deve ricercare dati (nella memoria centrale, sul disco o su internet, non fa differenza) dopo averli trovati, li conserva in un posto particolare, la cache appunto, nella quale poterli reperire più velocemente del normale nel caso ci fosse bisogno ancora di quegli stessi dati. Nei tre esempi di sopra questi posti sono, rispettivamente, la memoria cache propriamente detta (hardware), la memoria centrale, il disco.
 
  I browser internet usano appunto il disco come cache per internet, cioè vi salvano tutti i file utilizzati per visualizzare le pagine visitate. Questo apre la possibilità di usare una tecnica di navigazione, descritta più sotto, con la quale si può risparmiare moltissimo sul costo di collegamento.
  Infatti la fase di navigazione consisterebbe solo nel richiedere ed ottenere le pagine interessanti, limitandone la lettura semplicemente ai link verso le altre pagine, per scaricare tutto quello che interessa. La molto più lunga fase di lettura e comprensione del testo viene rimandata alle fase fuori collegamento, che non costa nulla.
 
  Per attuare questo stile di navigazione basta semplicemente impostare le preferenze di configurazione della cache del proprio browser (per esempio, nella versione inglese di Netscape Navigator 3, si trovano sotto: Options/Network Preferences/Cache). Si deve impostare una dimensione di cache sufficiente a contenere tutti i file scaricati fino a quando si decide di eliminarli (una grande dimensione ha la sola controindicazione di occupare disco, se non la si pulisce periodicamente).
  Ci sono inoltre, di solito, tre opzioni: sempre in Navigator 3, corrispondono all'impostazione Verify Documents e sono, Once per Session, Every Time e Never.
  Quella di solito impostata è la prima: con essa il browser usa i file in cache per tutta la sessione corrente, mentre alla successiva, per evitare di visualizzare pagine che sul sito sono state modificate, controlla se sono state modificate (vedi LMD più sotto), o se non ha modo di farlo, le scarica subito di nuovo. Nella seconda opzione, un po' paranoica, ogni volta che si chiede una pagina il browser controlla su internet per eventuali modifiche, anche se la si era scaricata qualche secondo prima. La terza, che è quella che ci interessa, corrisponde all'uso totale della cache, cioè il browser usa sempre il file su disco, senza tener conto che sul sito la pagina potrebbe essere stata modificata o eliminata, magari da molto tempo.
  Il problema di usare pagine obsolete non si pone però quì, perché la fase di lettura o studio delle pagine scaricate si intende fatta ovviamente subito dopo l'interruzione del collegamento, o qualche giorno dopo.
  Inoltre, quando si volesse "rinfrescare" una pagina, basterebbe premere il tasto di Reload, e il browser scaricherebbe da internet la versione aggiornata.
 
  Impostato il browser, semplicemente si naviga, in stile "ricerca veloce":
si legge una pagina quel tanto che basta per capire a quali altre pagine interessanti punta, per scaricarle a loro volta. Bisogna ovviamente attendere finché il caricamento della pagina è completo, però subito dopo si può passare alle successive. In alcuni casi, e cioè quando lo scaricamento è molto lento a causa dell'intasamento del server, si possono addirittura lanciare più sessioni del browser per scaricare parti diverse del sito, sfruttando così interamente la banda del modem.
  Il server infatti tratta tutte le richieste su base indipendente e quindi se gli si inviano più richieste cerca di soddisfarle tutte contemporaneamente.
  Quindi, per esempio se in quel momento invia dati a 0.4 kB/s, con tre richieste contemporanee occupiamo una banda di 1.2 kB/s, che i solito è ancora nelle possibilità del nostro modem. Questo modo si può facilmente attuare solo quando si hanno strutture ordinate, per esempio i capitoli di un libro su più file. Scaricato quanto serve si chiude il collegamento.
  A questo punto, se si richiede una pagina tramite lo stesso indirizzo usato mentre si era in linea, il browser la visualizzerà senza richiedere collegamento (nelle altre due opzioni invece, il browser non funziona senza linea, pur avendo in cache i file richiesti, perché non può controllarne la "freschezza").
  Essendo fuori linea, si avrà tutto il tempo di leggersi i contenuti con calma e senza spendere nulla, e si potrà passare alle altre pagine normalmente, come si fosse in linea. Queste operazioni possono essere ripetute, cioè nelle sessioni successive si possono scaricare tuttte le pagine che, per scelta o dimenticanza, non si sono scaricate all'inizio.
  
  Problemi.  Pur funzionando generalmente bene, questa tecnica ha dei problemi, cui accenniamo di seguito.
 
1. Netscape e server "non LMD".  Le versioni 3 e 4 di Netscape Navigator cancellano dalla cache tutti i file per cui il server non ha fornito la Last Modification Date, data di ultima modifica, probabilmente perché non possono controllare se le pagine sono aggiornate (anche se, nell'ipotesi dell'opzione di non controllare mai per versioni più recenti, non dovrebbero farlo).
  Questa data dei file, che non tutti i server forniscono, evita infatti di scaricare pagine che si hanno già anche nelle ipotesi controlla sempre controlla una volta per sessione: il browser infatti controlla se le pagine sul server sono più recenti di quelle in cache e le scarica solo se quelle sul nostro disco sono più vecchie.
  Per risolvere questo problema, che si può presentare con alcuni server, si può utilizzare NSPatch, programma di correzione gratuito scritto da Matthias Wolf, autore anche di Netscape Cache Explorer (NSCE) e Microsoft Internet Cache Explorer (MSICE), due utili programmi per visualizzare e salvare i contenuti dalla cache dei due principali browser.
 
  E' quì disponibile la versione 1.20, per Windows 95 ed NT, se non se ne volesse cercare la versione più recente direttamente sul suo sito, MWSoft Shareware.
 
  NSPatch 1.20:  cache.zip  (6 kB)
  
2. Contenuti dinamici.  Per essere memorizzate nella cache, le pagine devono essere, o apparire, statiche cioè delle pagine che esistono di per sè, memorizzato su disco del server. Quasi tutte le pagine dei siti "di contenuto" sono di questo tipo, o almeno finora lo sono state. L'altro tipo di pagina, quello dinamico, ha bisogno del server perché viene da esso creata "al volo" e, mancando l'interazione browser-server, non può essere visualizzata, o almeno non nella sua completezza.
  Per esempio, visualizzate fuori linea, alcune pagine, pur essendo in cache chiederanno la linea: rifiutandogliela, verranno visualizzate lo stesso ma senza, ad esempio, i banner pubblicitari (e questo non è un gran male) perché questi vengono forniti dinamicamente dal server, anzi, di solito da un server diverso e specializzato che fa solo questo. In questo Navigator (4) si comporta meglio di Internet Explorer (3), perché quest'ultimo, se gli si rifiuta la linea quando la chiede, non visualizza nulla.
  Un altro tipico caso è quello delle ricerche su motori di ricerca: i risultati forniti non sono certamente in alcuna pagina precedentemente esistente sul server, anche se questo potrebbe memorizzarle temporaneamente su disco. In questo caso conviene salvare i risultati manualmente uno per uno.
  
  Questi due tipi di problemi non impediscono comunque di fruire della tecnica descritta nella stragrande maggioranza dei casi, almeno con i siti in cui il contenuto prevale sulla forma, che sono poi anche i siti per cui la tecnica descritta è veramente utile, perché lo studio di contenuto "in linea" è difficilmente proponibile a chi ha problemi di costo di connessione.