• User

    indicizzazione Google e problemi sessione

    Ciao a tutti,
    non so se è la sezione giusta del forum per porre il mio quesito, ma ci provo.
    Il team di cui faccio parte ha seguito le istruzioni su
    support.google.com/webmasters/bin/answer.py?hl=it&answer=35769#2
    per far indicizzare il sito che stiamo sviluppando.
    Non so se è un caso, ma da quando abbiamo fatto ciò, le sessioni non funzionano più a dovere (solo su Internet Explorer, mentre su Firefox e Chrome sembrano funzionare).
    Possono essere correlate le due cose (il codice non è stato cambiato)?
    Grazie.


  • Super User

    Ciao El alma,
    ho dato solo una rapida occhiata a quelle istruzioni, perché sono tante. Comunque può essere questo: If-Modified-Since

    Il caching delle pagine varia tantissimo da browser a browser, e anche a seconda delle sue impostazioni, e questo giustificherebbe il diverso comportamento. E se il browser (IE) non ricarica la pagina perché il server gli dice che non è modificata, fa vedere all'utente quella che ha nella cache, non quella dinamica aggiornata in base alla sessione utente.

    Di default le pagine dinamiche (asp, php, ...), non utilizzano If-Modified-Since, ma si può fare in modo che lo utilizzino, avvicinandole così al comportamento delle pagine statiche. Chiedi al tuo team se ha fatto una cosa del genere.


  • User

    Grazie molto Webmaster70,
    controllando i file, ho visto che vengono usate istruzioni php come
    header("Cache-Control: private");
    header("Pragma: public");
    header("Expires: 0");
    non so se queste possono influire.
    Non è che hai un link da consigliarmi che spieghi in modo semplice il caching?

    @Webmaster70 said:

    Ciao El alma,
    ho dato solo una rapida occhiata a quelle istruzioni, perché sono tante. Comunque può essere questo: If-Modified-Since

    Il caching delle pagine varia tantissimo da browser a browser, e anche a seconda delle sue impostazioni, e questo giustificherebbe il diverso comportamento. E se il browser (IE) non ricarica la pagina perché il server gli dice che non è modificata, fa vedere all'utente quella che ha nella cache, non quella dinamica aggiornata in base alla sessione utente.

    Di default le pagine dinamiche (asp, php, ...), non utilizzano If-Modified-Since, ma si può fare in modo che lo utilizzino, avvicinandole così al comportamento delle pagine statiche. Chiedi al tuo team se ha fatto una cosa del genere.


  • Super User

    Quelle 3 istruzioni riguardano tutte il caching.

    Queste sono OK:
    header("Cache-Control: private");
    header("Expires: 0");

    Questa al limite potrebbe aver creato il tuo problema:
    header("Pragma: public");

    Io ho citato una ulteriore istruzione sul caching (ma ce ne sono tante altre), che mi pare sia l'unica citata in quell'articolo che i tuoi tecnici hanno seguito. Ecco come funziona.

    1. Server dice: eccoti la pagina che hai richiesto, ricordati che è stata modificata il 12 marzo (Last-Modified: data)

    2. Browser scarica la pagina, la mostra all'utente, e la conserva nella cache.

    3. L'utente vuole rivisitare quella pagina, e il browser si accorge che ha nella cache una pagina modificata il 12 marzo, e dice al server: vorrei quella pagina solo se dopo il 12 marzo hai creato una nuova versione. (If-Modified-Since: data)

    4. Server dice: non c'è una pagina aggiornata, prendila dalla cache così ti faccio risparmiare banda e tempo di caricamento. (304 Not Modified)

    Dovresti cercare nel codice php le stringhe "last-modified", "If-Modified-Since", ...

    Non conosco e non credo che possano esistere articoli che spiegano il caching in modo semplice, perché dipende da troppi fattori.


  • User

    Ti ringrazio molto della chiara spiegazione.
    🙂


  • Super User

    Prego ;), ciao.