使用服务器缓存15分钟

时间:2011-03-29 08:50:50

标签: java android httpurlconnection

我想使用服务器缓存15分钟,所以我必须在setRequestProperty()中使用?

请帮助我..

这是我用过的代码..

private HttpURLConnection httpCon = null;
httpCon = (HttpURLConnection) httpUrl.openConnection();
httpCon.setRequestMethod("GET");
httpCon.setRequestProperty("Connection", "Keep-Alive");
httpCon.setRequestProperty("Pragma","public");
httpCon.setRequestProperty("Cache-Control","maxage=900");
httpCon.setUseCaches(true);

2 个答案:

答案 0 :(得分:3)

您告诉服务器您愿意让它缓存响应,但不保证服务器会这样做或启用它(除非您也控制服务器并实现它)。

您还可以尝试在客户端和服务器上设置中间HTTP缓存,例如代理缓存,如Varnish,Pound或Squid。

最后,您可以自己进行浏览器缓存,这支持Android java.net包,但没有默认实现。要做到这一点:

- 检查HttpURLConnection哪些详细信息(在“响应缓存”部分中)您必须实现ResponseCache并调用setDefault。

- 还要查看ResponseCache Example,其中有一些例子,以及最后需要注意的东西(可能或可能不是真的)。​​

祝你好运!

答案 1 :(得分:2)

不使用HttpConnection,而是使用DefaultHttpClient和CachingHttpClient(Apache Http Client的一部分,默认情况下与Android捆绑在一起)。

查看http://hc.apache.org/httpcomponents-client-ga/tutorial/html/caching.html以获取有关如何使用缓存的更多详细信息。