Question

Je donne les résultats suivants retour d'une méthode Jersey @GET. Il fonctionne, très bien, mais comprend toujours l'en-tête no-cache. Je voudrais permettre au client de mettre en cache ces données car il change rarement.

ResponseBuilder rb = Response.ok(c);
    CacheControl cc = new CacheControl();
    cc.setMaxAge(60);
    cc.setNoCache(false);
    return rb.cacheControl(cc).build();

La réponse est toujours:

 Server Apache-Coyote/1.1
 Pragma No-cache
 Cache-Control  no-cache, no-transform, max-age=60
 Expires    Wed, 31 Dec 1969 19:00:00 EST
 Content-Type   application/xml
 Content-Length 291
 Date   Tue, 16 Feb 2010 01:54:02 GMT

Ce que je fais mal ici?

Était-ce utile?

La solution

Ceci est dû en ayant BASIC auth activée.

Spécifier dans le contexte corrigera le problème:

<Valve className="org.apache.catalina.authenticator.BasicAuthenticator"
       disableProxyCaching="false" />

Espérons que cela aide quelqu'un d'autre.

Autres conseils

Votre code semble correct.

Quel contenant utilisez-vous? Assurez-vous que le cache est pas désactivé sur elle. Vérifiez également les gestionnaires de réponse en aval ou les filtres ne sont pas le réglage de la directive no-cache.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top