[SPIP Zone] Pb de cache navigateur sur la page d'édition d'un article

Bonjour,

Soit une page d'édition : ecrire/?exec=article&id_article=52
Je clique sur Modifier cet article.
Je change le contenu d'un champ (chapo)
J'enregistre.
Je reclique sur Modifier cet article.
C'est l'ancienne version du contenu du champ qui s'affiche.

Quand je regarde avec Firefox, je vois que
ecrire/?exec=article&id_article=52 est chargé en xhr depuis le cache.
C'est le seul qui est pris dans le cache.

J'ai essayé de modifier le squelette
prive/squelettes/contenu/article.html pour rajouter 'nocache' au bouton de modification (cf https://www.spip.net/fr_article3753.html)
Sans succès

La seule chose qui ait marchée, c'est de remplacer le preload par nocache du bouton.

Bug de SPIP ?

--
RealET

Bonsoir,

Bug de SPIP ?

Avec SPIP 3.2.1, Firefox 62 sous Ubuntu 16.04 : cache navigateur non
désactivé : impossible à reproduire.

Edition d'article -> édition chapo -> enregistrer article -> édition :
le texte du chapo affiché est bien modifié.

Cordialement,

Eric

RealET a écrit le 23/10/2018 à 00:23 :

Bonjour,

Soit une page d'édition : ecrire/?exec=article&id_article=52
Je clique sur Modifier cet article.
Je change le contenu d'un champ (chapo)
J'enregistre.
Je reclique sur Modifier cet article.
C'est l'ancienne version du contenu du champ qui s'affiche.

Quand je regarde avec Firefox, je vois que
ecrire/?exec=article&id_article=52 est chargé en xhr depuis le cache.
C'est le seul qui est pris dans le cache.

J'ai essayé de modifier le squelette
prive/squelettes/contenu/article.html pour rajouter 'nocache' au bouton de modification (cf `{ajax}` pour les `inclure` - SPIP)
Sans succès

La seule chose qui ait marchée, c'est de remplacer le preload par nocache du bouton.

Bug de SPIP ?

Précisions :
- Debian 9 franchement installée avec Opcache
- PHP 7 du paquet Debian (en fait, tout est en version paquet Debian)
- Plugin Memoization à jour (filecache)
- SPIP 3.2.1 SVN du jour (donc presque la 3.2.2)
- En mutualisation facile de SPIP

--
RealET

RealET a écrit le 23/10/2018 à 00:23 :

Bonjour,

Soit une page d'édition : ecrire/?exec=article&id_article=52
Je clique sur Modifier cet article.
Je change le contenu d'un champ (chapo)
J'enregistre.
Je reclique sur Modifier cet article.
C'est l'ancienne version du contenu du champ qui s'affiche.

Quand je regarde avec Firefox, je vois que
ecrire/?exec=article&id_article=52 est chargé en xhr depuis le cache.
C'est le seul qui est pris dans le cache.

J'ai essayé de modifier le squelette
prive/squelettes/contenu/article.html pour rajouter 'nocache' au bouton de modification (cf `{ajax}` pour les `inclure` - SPIP)
Sans succès

La seule chose qui ait marchée, c'est de remplacer le preload par nocache du bouton.

Bug de SPIP ?

À la demande de Pierre (via un message non passé sur cette liste).
En-tête de la requête :
Host: www.asnbd.fr
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:62.0) Gecko/20100101 Firefox/62.0
Accept: */*
Accept-Language: fr,fr-FR;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate, br
Referer: ASNBD
X-Requested-With: XMLHttpRequest
Cookie: spip_admin=%40jpyrat; spip_accepte_ajax=1; spip_session=4_9de26effdc881d9e452de7969274bf55
DNT: 1
Connection: keep-alive

De la réponse :
HTTP/2.0 200 OK
date: Tue, 23 Oct 2018 08:15:54 GMT
server: Apache
vary: Cookie,Accept-Encoding,User-Agent
composed-by: SPIP 3.2.1 @ www.spip.net + https://www.asnbd.fr/sites/asnbd.fr/local/config.txt
content-encoding: gzip
cache-control: max-age=600, private, must-revalidate
expires: Tue, 23 Oct 2018 08:15:54 GMT
content-length: 2429
content-type: text/html; charset=utf-8
X-Firefox-Spdy: h2

Si j'ouvre l'url dans un nouvel onglet, il me prend bien la version à jour
https://www.asnbd.fr/ecrire/?exec=article_edit&id_article=52&var_ajax=1&var_ajax_env=Tw3CqnG%2BaQh6IlqjFB2q15R8LCqtlxaGv8ywJg%2FLkIHeb%2FvaDf91xvacSMI9T4U1fP1pbB7K7ezNE%2BGi3FY%2F32X7PuWXMr9CT2IPb%2BjS6nMSIj%2Fh8rWXUlQ0ruL6bqyVMnn0m7aQiNC%2FzD4M%2BeTBZxP6Dh4gLNVgJVpM%2FpNfaITao%2Fzh3atTQEOZQcd8WGk2kmpHXkCP97Et1lKVAHA6oG3fRYp%2BfeQdc5vh0CTHXJJwN2zzt95dPxwOZ5Jp75gJkkBtAZ79lm7Uu%2FiKUBPCQAYqgTHa1A%3D%3D

Mais côté page, Firefox pioche dans le cache à chaque fois (durant 10 minutes).

Et si je regarde un qui n'est pas pris dans le cache, j'ai en requête
Host: www.asnbd.fr
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:62.0) Gecko/20100101 Firefox/62.0
Accept: */*
Accept-Language: fr,fr-FR;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate, br
Referer: ASNBD
X-Requested-With: XMLHttpRequest
Cookie: spip_admin=%40jpyrat; spip_accepte_ajax=1; spip_session=4_9de26effdc881d9e452de7969274bf55
DNT: 1
Connection: keep-alive
TE: Trailers

Réponse :
HTTP/2.0 200 OK
date: Tue, 23 Oct 2018 08:16:28 GMT
server: Apache
vary: Cookie,Accept-Encoding,User-Agent
composed-by: SPIP 3.2.1 @ www.spip.net + https://www.asnbd.fr/sites/asnbd.fr/local/config.txt
content-encoding: gzip
cache-control: max-age=600, private, must-revalidate
expires: Tue, 23 Oct 2018 08:16:28 GMT
content-length: 2289
content-type: text/html; charset=utf-8
X-Firefox-Spdy: h2

--
RealET

Salut,

cache-control: max-age=600. Tu ne devrais pas avoir ça sur les hits dans le privé (hors ressources statics). Je dirais qu il faut vérifier la config serveur.

Résolu par un fichier de conf global avec
ExpiresByType text/html "access plus 0 seconds"

Sachant que c'était *déjà* dans le .htaccess du site, mais pas pris en compte !?!

--
RealET