12

How to disable caching ?

What headers should doGet set?

Could you provide a code snippet?

EugeneP
  • 11,569
  • 31
  • 92
  • 140

2 Answers2

28

This will set caching to disabled on the response:

// Set standard HTTP/1.1 no-cache headers.
response.setHeader("Cache-Control", "private, no-store, no-cache, must-revalidate");

// Set standard HTTP/1.0 no-cache header.
response.setHeader("Pragma", "no-cache");
rsp
  • 22,799
  • 6
  • 53
  • 66
  • 5
    I believe you would like to add `response.setDateHeader("Expires", 0);` for proxies. See another [answer](http://stackoverflow.com/questions/3413036/http-response-caching) – mvnukov Jan 25 '13 at 11:49
0

I want to disabled the varnish cache if backend server return some header

eg.

if is set header like follow

JAVA code

ServletActionContext.getResponse().addHeader("ABC","true")

then in varnish if I found value of header ABC as true then I don't want to cache this page.

RAS
  • 7,965
  • 16
  • 63
  • 84
Alpesh Jikadra
  • 1,568
  • 2
  • 13
  • 28