PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV Mobile 2024 → comment virer le cache de HTTPREQUETE
comment virer le cache de HTTPREQUETE
Started by stef, Dec., 08 2006 10:33 AM - 4 replies
Posted on December, 08 2006 - 10:33 AM
malgré un NO-CACHE en parametre impossible de virer le mécanisme de cache lors du requete HTTP....

extrait code :

sNomAgent est une chaîne="Mozilla/4.0 (compatible; MSIE 4.01; Windows CE)"
POST="URL SERVEUR POUR MA REQUETE + parametre"
Res_Requete=HTTPRequête(POST,sNomAgent,"Cache-Control: No-cache")

je lance ma requete sans connexion GPRS ->Res_Requete = faux OK (normal) !

je lance ma requete avec connexion GPRS ->Res_Requete = vrai OK(normal) !

je coupe ma connexion GPRS lance la requete de nouveau -> Res_Requete = vrai !!!!!
(la requete n'a pas été réexecuter mais pioche dans le cache j'aurais du avoir
Res_RequeteúUX ...)

si il y a un super developpeur qui a l'astuce parce ce que je suis pas loin de la déprime.....
merci stef
Posted on December, 08 2006 - 2:01 PM
stef a écrit :
malgré un NO-CACHE en parametre impossible de virer le mécanisme de cache lors du requete HTTP....

extrait code :

sNomAgent est une chaîne="Mozilla/4.0 (compatible; MSIE 4.01; Windows CE)"
POST="URL SERVEUR POUR MA REQUETE + parametre"
Res_Requete=HTTPRequête(POST,sNomAgent,"Cache-Control: No-cache")

je lance ma requete sans connexion GPRS ->Res_Requete = faux OK (normal) !

je lance ma requete avec connexion GPRS ->Res_Requete = vrai OK(normal) !

je coupe ma connexion GPRS lance la requete de nouveau -> Res_Requete = vrai !!!!!
(la requete n'a pas été réexecuter mais pioche dans le cache j'aurais du avoir
Res_RequeteúUX ...)

si il y a un super developpeur qui a l'astuce parce ce que je suis pas loin de la déprime.....
merci stef

Le "No-cache" doit être sur le serveur?

Sinon un lien spécifique sur IE et la gestion des caches
http://support.microsoft.com/kb/q234067/

c'est peut être la même chose avec IE sur Mobile.

--
suivre ce lien pour répondre:
http://cerbermail.com/…
Daniel
;-)
Posted on December, 08 2006 - 3:24 PM
Merci, Daniel pour votre réponse...

il y a bien une gestion de cache lors d'une requete HTTP coté client (pocket pc ou smartphone...)

admettons que j'ai une page internet qui me donne l'heure et date du jour de mon serveur lors de son appel et que mon application windev mobile lance périodiquement une vérification :

Lancement de l'appli
premiere requete :

gettime est une chaine
res=HttpRequete ("http://monserveur/gettime.php)
gettime=AnsiVersUnicode(HTTPDonneRésultat())

res vaut "20061208, 140228"
j'obtiens bien ma date et heure...

mon application coupe la connexion GPRS,
2mn s'écoule, mon application refait automatique la meme requete :
j'obtiens la meme réponse ??? gettime vaut 20061208, 140228

je coupe la connexion GPRS manuellement (pocket pc en mode "avion")
2mn après lancement d une nouvelle requete :
j'obtiens la meme réponse gettime vaut 20061208, 140228
meme pas une erreur HTTP !!!

en fait il faudrait que l'url de HTTPREQUETE soit différente de la requete précédente pour que réellement il y a une requete d'effectuée !
or mon URL ne change jamais ; a moins de trouvée une solution pour virer ce mécanisme de cache....crrrr
Posted on December, 11 2006 - 11:00 AM
Bonsoir,

malgré un NO-CACHE en parametre impossible de virer le mécanisme de cache
lors du requete HTTP....

extrait code :

sNomAgent est une chaîne="Mozilla/4.0 (compatible; MSIE 4.01; Windows CE)"
POST="URL SERVEUR POUR MA REQUETE + parametre"
Res_Requete=HTTPRequête(POST,sNomAgent,"Cache-Control: No-cache")

je lance ma requete sans connexion GPRS ->Res_Requete = faux OK (normal)
!

je lance ma requete avec connexion GPRS ->Res_Requete = vrai OK(normal) !

je coupe ma connexion GPRS lance la requete de nouveau -> Res_Requete =
vrai !!!!!
(la requete n'a pas été réexecuter mais pioche dans le cache j'aurais du
avoir
Res_RequeteúUX ...)

si il y a un super developpeur qui a l'astuce parce ce que je suis pas
loin de la déprime.....
merci stef


Je n'ai pas vérifié en détail, mais je pense a plusieurs points pour
lesquels ce comportement est normal :
- Ce n'est pas "Cache-Control: No-cache" mais "Cache-Control: no-cache"
(Sans N majuscule a no)
- Cette directive est une directive HTTP/1.1. Si HTTPRequête fait une
requète HTTP/1.0, il est normal qu'elle soit ignorée. En HTTP/1.0, seul
"Pragma: no-cache" est disponible.
- Il me semble que cette directive est unidirectionnelle. Le serveur n'a
aucune obligation de renvoyer cette directive. Donc la réponse reçue du
serveur peut ne pas avoir cette directive et il est donc normal de cacher la
réponse.
De manière générale, pour moi, c'est au serveur de décider si des données
sont cachable ou non, pas au client.

Cordialement,
Guillaume M.
Posted on February, 04 2008 - 8:26 AM
Hello,
J'avais le meme probleme car j'appelais plusieurs fois la meme url.

L'astuce est de passer un parametre dans ton url qui correspond a maintenant:

tonURL += "?" + Maintenant()

Comme le parametre change tout le temps, vous ne recupererez pas le resultat du cache.

Cordialement.