|
PROFESSIONAL NEWSGROUPS WINDEV, WEBDEV and WINDEV Mobile |
| | | | | |
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. |
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|