Pessoal beleza?
O método GET do http, por default pode ou não ser cacheado pelo navegador. Quando trabalho com QueryString, corro o risco de ter o resultado do GET cacheado?
Pessoal beleza?
O método GET do http, por default pode ou não ser cacheado pelo navegador. Quando trabalho com QueryString, corro o risco de ter o resultado do GET cacheado?
Oi Victor,
se a resposta de um HTTP GET é cacheado ou não depende dos cabeçalhos na resposta. Ele não é cacheado por padrão.
No JAX-RS vc tem um objeto CacheControle
para definir esse cabeçalhos na resposta, por exemplo:
@Path("/livro")
public class CacheTest {
@Path("/{id}")
@GET
public Response getLivro(@PathParam("id") long id){
System.out.println("carregando livro com id " + id);
//carrendo o livro do banco de dados por exemplo
CacheControl cc = new CacheControl();
cc.setMaxAge(60); //60 segundos
cc.setPrivate(true); //cache só no cliente (navegador)
ResponseBuilder builder = Response.ok("aqui vem a resposta");
builder.cacheControl(cc);
return builder.build();
}
}
Tudo bem?
abs