Proxy et appli en jsp

Proxy et appli en jsp - Java - Programmation

Marsh Posté le 24-03-2004 à 15:58:25    

Bonjour
 
Y a t-il un moyen pour une appli en jsp d'éviter que le navigateur utilise le proxy de connexion.  
Je m'explique, car j'ai fait une appli accessible a partir du net, mais chez un client qui a un serveur de proxy, celui ci lui affiche des pages en cache ! Bonjour les MAJ !


Message édité par Mazda3 le 24-03-2004 à 15:59:00
Reply

Marsh Posté le 24-03-2004 à 15:58:25   

Reply

Marsh Posté le 24-03-2004 à 16:02:03    

Oui il y a moyen. C'est au niveah HTTP que ca se passe (tu peux forcer que ta page expire tout le temps, ce qui fait que le proxy ne la gardera jamais en cache).
 
Jette un oeil à ces headers HTTP:
 
- Cache-Control
- Pragma  
- Expires


Message édité par darklord le 24-03-2004 à 16:02:53
Reply

Marsh Posté le 24-03-2004 à 16:09:45    

C'est bon si dans mes pages en jsp je rajoute la balise :
 

Citation :

<meta http-equiv="Cache-Control" content="no-cache, must-revalidate" />


 
et les servlet :
 
 

Citation :

    res.setHeader ("Pragma","no-cache" );
     res.setHeader ("Cache-control","no-cache" );
     res.setHeader ("Expires","Mon, 01 Jan 1990 00:00:00 GMT" );


 
?


Message édité par Mazda3 le 24-03-2004 à 16:10:13
Reply

Marsh Posté le 24-03-2004 à 16:12:36    

ah non plutot ça en jsp
 

Citation :

<%
  response.setHeader("Cache-Control","no-cache" ); Ou response.setHeader("Cache-Control","no-store" );  
  response.setHeader("Pragma","no-cache" );  
  response.setDateHeader ("Expires", 0);  
%>


Message édité par Mazda3 le 24-03-2004 à 16:12:51
Reply

Marsh Posté le 24-03-2004 à 16:19:53    

c pas grave si je rajoute ces lignes en dehors des balises header ?
 
Cad :  
 
maPage.jsp
 
<HTML>
<%  
  response.setHeader("Cache-Control","no-cache" );  
  response.setHeader("Pragma","no-cache" );  
  response.setDateHeader ("Expires", 0);  
%>
<HEAD>
...
</HEAD>
<BODY>
...
</BODY>
</HTML>


Message édité par Mazda3 le 24-03-2004 à 16:20:01
Reply

Marsh Posté le 24-03-2004 à 16:33:00    

J'y connais que dale en JSP. Un petit coup de google devrait te filer la solution ;)

Reply

Marsh Posté le 24-03-2004 à 18:22:42    

Ok c bon j'ai tout rajouté...
 
une question qui peut etre bête :
 
Ces balises forcent le navigateur à ne pas utiliser le cache mais ça va aussi marcher pour le cache d'un proxy ? Enfin je sais pas si on peut appeller ça un cache ...

Reply

Marsh Posté le 24-03-2004 à 18:25:18    

normalement le proxy utilise ces metadata pour savoir combien de temps les pages qu'il conserve sont valides...maintenant certains proxy fixent en dur le refresh tt les x heures...mais ca doit marcher qd même, sinon si ct pas possible tu pourrais jamais consulter un forum par ex


Message édité par Jubijub le 24-03-2004 à 18:26:22

---------------
Jubi Photos : Flickr - 500px
Reply

Marsh Posté le 24-03-2004 à 18:31:07    

Ok !  
 
Merci à ceux qui m'ont répondu  :jap:


Message édité par Mazda3 le 24-03-2004 à 18:31:14
Reply

Marsh Posté le 24-03-2004 à 23:57:34    

Je trouve quand même bizare que le proxy faisait du cache de tes pages. Logiquement, quand aucun header de cache n'est ajouté, le user-agent (le browser ou le proxy) doit se servir de la date retournée par le serveur (header date de réponse) pour demander par la suite les mises à jour de la page (header if-modified-since de la requete), hors comme tes pages dynamiques ne gèrent pas ce header, il ne devrait jamais y avoir de cache de tes pages dynamiques.
 
Rajouter les expires, no cache et tout le toutime ne devrait avoir pour conséquence que d'empecher le browser de "sauver" ces pages => pas de navigation arrière ... Logiquement, ca ne devrait pas avoir plus de conséquence sur le proxy.
 
Ou bien c'est que le proxy ne respecte pas bien le protocole HTTP (ce qui n'est pas impossible)


Message édité par benou le 24-03-2004 à 23:58:32
Reply

Marsh Posté le 24-03-2004 à 23:57:34   

Reply

Marsh Posté le 25-03-2004 à 08:46:35    

En fait j'ai ce pb :
 
Le client passe par un proxy pour se connecter à internet.
Le client test mon appli et quand il envoie un requete a une servlet et que le servlet lui redirige vers la même page d'entrée (celle qui fait la demande à la servlet) mais avec les mis a jour du traitement de la servlet. Le hic viens d'ici, lors de la redirection le navigateur ou le proxy (je penche plus pour le proxy) affiche l'ancienne page sans les MAJ effectué par la servlet.


Message édité par Mazda3 le 25-03-2004 à 08:47:17
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed