Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Forzare cache con header

    Ciao, ho un problemino, so che per forzare il browser a non salvare nulla in memoria si puo' fare tramite una cosa del genere:
    Codice PHP:
    header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");    // Data passata
    header("Last-Modified: " gmdate("D, d M Y H:i:s") . " GMT"); 
                                                         
    // sempre modificato
    header("Cache-Control: no-store, no-cache, must-revalidate");  // HTTP/1.1
    header("Cache-Control: post-check=0, pre-check=0"false);
    header("Pragma: no-cache"); 
    ma io vorrei l'opposto, cioè salvare la cache in memoria per + tempo possibile
    MiServe di Santino Bivacqua
    PHP/Ruby/Node.js Developer
    www.miserve.com

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    I dati sul client restano in memoria per tanto (e non un ciclo di clock di più) quanto il client decide di tenerseli. Se io amo svuotarmi la cache del browser ad ogni chiusura dello stesso e concorrentemente fare pulizia dei cookies, non c'è header che tenga. In altre parole: non si può fare quel che vuoi fare tu.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    Originariamente inviato da Andrea1979
    I dati sul client restano in memoria per tanto (e non un ciclo di clock di più) quanto il client decide di tenerseli. Se io amo svuotarmi la cache del browser ad ogni chiusura dello stesso e concorrentemente fare pulizia dei cookies, non c'è header che tenga. In altre parole: non si può fare quel che vuoi fare tu.
    Certo questo lo so, ma io non voglio dire al browser quanto tempo deve tenerseli in memoria, ma semplicemente che deve salvarli. infatti guardando info pagina dal menu firefox, ho notato che c'è scritto non in cache, invece in rete ho trovato la soluzione:
    Codice PHP:
    // calc an offset of 24 hours
    $offset 3600 24;    
    // calc the string in GMT not localtime and add the offset
    $expire "Expires: " gmdate("D, d M Y H:i:s"time() + $offset) . " GMT";
    //output the HTTP header
    header($expire);
    header('Cache-Control: max-age=3600, must-revalidate'); 
    Ora infatti dal menu info pagina di firefox mi spunta pagina in cache.

    Spiego la riga
    header('Cache-Control: max-age=3600, must-revalidate');
    max-age indica in secondi quanto tempo restare in cache
    must-revalidate indica al browser di rispettare le direttive impostate (almeno se ho capito bene
    )
    MiServe di Santino Bivacqua
    PHP/Ruby/Node.js Developer
    www.miserve.com

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.