2013-04-12 28 views
2

你好我写一个移动应用客户端设有网络请求,通过POCO C++网络库。但出于性能方面的原因,我需要缓存http响应(响应缓存到磁盘)。我听说这可以完成,但似乎POCO Net缺乏这种支持?是否有任何其他网络库支持响应缓存(请指点示例)?C++网络库支持响应缓存

例如,如果我申请一个JSON我要检查,如果缓存的版本是最新的最新与服务器版本,之前我把它拿来,使应用程序的整体外观更光滑。

(我需要使用C++,因为使用C IM开发跨平台++)

+1

至少,POCO具有AbstractCache和[AccessExpireCache](http://pocoproject.org/docs/Poco.AccessExpireCache.html)作为构建块 – sehe

回答

0

有出的现成的支持,但使用Cache Framework基于AbstractStrategy磁盘持久性的自定义策略应该是简单。

两件事情要记住:

  1. Cache Framework性能/尺寸惩罚(检查链接的文档)
  2. Cache-control header

的响应是可缓存的,如果要求了请求的方法,请求 头字段,和响应状态指示它是 可缓存的。

HTH

+0

谢谢,是有在类HTTPResponse的方法或者在头域中使用的其他类的名称:即。缓存控制标题和指令可以从? –

+0

是的,见[NameValueCollection中(https://github.com/pocoproject/poco/blob/develop/Net/include/Poco/Net/NameValueCollection.h#L92):: get()和具有()成员函数。 – Alex