Notizie: se possiedi un dispositivo Android, prova Firefox per Android, un browser scattante e dinamico per navigare in ambiente mobile.

Autore Topic: problema cache  (Letto 2028 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline andtv

  • Post: 3
problema cache
« il: 18 Ottobre 2004 15:46:29 »
ciao a tutti.
questo è il mio primo post.
dunque, ho un problema con la gestione della cache da parte di mozilla (ho installato la versione 1.5).
sono sviluppatore e sto testando la mia applicazione web su diversi browser.
il problema con mozilla riguarda la richiesta di caricamento delle immagini.
sul server utilizzo l'header HTTP Last-Modified per gestire il controllo della cache.
quando il client invia la richiesta al server specificando il campo If-Modified-Since, sul server effettuo un confronto delle date e decido se inviare un HTTP 304 (Not Modified) oppure lo stream dell'immagine richiesta.
in questo modo tutto funziona correttamente. ma in taluni casi, Mozilla non invia neppure la richiesta al server ma carica direttamente l'immagine dalla cache. questo comportamento porta a funzionamenti non corretti dell'applicazione web e sembra non deterministico, nel senso che ad esempio per la stessa immagine Mozilla a volte effettua la richiesta altre volte no. perciò viene a mancare completamente la comunicazione col server, indispensabile per gestire correttamente il caricamento delle immagini. un tale comportamento non mi pare sia previsto nelle specifiche HTTP.
qualcuno mi può aiutare?

grazie

Andrea

Offline prometeo

  • Moderatore
  • Post: 2538
    • https://www.tenutamontescosso.it/
problema cache
« Risposta #1 il: 19 Ottobre 2004 01:08:34 »
Bisogna vedere come è configurato Mozilla con l'accesso alla cache:
once per session
always
qualcos'altro che non ricordo.
Controlla come fare giocando con le preferenze per evitare il problema.
Ciao, Giacomo.

Offline andtv

  • Post: 3
problema cache
« Risposta #2 il: 19 Ottobre 2004 11:49:48 »
ciao.
nelle preferences il settaggio della cache è corretto, cioè "every time i visit the page".
penso di aver capito dove sta il problema e credo sia un bug di mozilla ma non ne sono sicuro dovrei verificare nelle specifiche http:
nell'applicazione web le varie immagini vengono inviate al client in base ad un certo valore presente in sessione. mi spiego meglio:

il client invia al server la richiesta di pippo.gif.
il server controlla un certo parametro in sessione e decide se tornare pippo.gif oppure se rispondere al client con un redirect diciamo a pluto.gif.
supponiamo che inizialmente  il server torni al client pippo.gif specificando come Last-Modified 19 ottobre 2004.
alla richiesta successiva il client chiede pippo.gif con If-Modified-Since pari a 19 ottobre 2004.
il server confronta le date e torna un codice 304 (Not Modified).
il client a questo punto prende l'immagine dalla cache. e fin qui tutto funziona correttamente.
ora supponiamo che il client chieda di nuovo pippo.gif con If-Modified-Since con lo stesso valore precedente.
il server questa volta torna un redirect a pluto.gif e quindi il client fa la nuova richiesta.
se il server torna un 304 (Not Modified) il client prende dalla cache pippo.gif anzichè pluto.gif, cioè l'immagine che fa riferimento alla richiesta originale.
spero di essere stato sufficientemente chiaro nella spiegazione.
in poche parole, se anche al redirect viene risposto con un 304, mozilla carica dalla cache la richiesta originale anzichè quella del redirect.
è un bug di mozilla?
con altri browser questo problema non sussiste...

Andrea

Offline Michele Dal Corso

  • Post: 1321
problema cache
« Risposta #3 il: 19 Ottobre 2004 12:08:44 »
A me pare proprio un bug! Non ha senso che venga caricata l'immagine originaria nel caso quella di destinazione non sia stata modificata... Prova a fare un po' di ricerca su bugzilla e se non trovi nulla inserisci il bug. Devi riuscire però a metter giù un test case!

Ciao,
Michele

Offline andtv

  • Post: 3
problema cache
« Risposta #4 il: 20 Ottobre 2004 10:53:12 »

0 Utenti e 1 Visitatore stanno visualizzando questo topic.