我有一个应用程序,它以JSON对象的形式通过NSURLConnection下载数据;然后它将数据显示给用户。由于可以在任何时候在服务器上创建新数据,“实现”并下载此数据的最佳方法是什么?
目前,我计划让应用程序每30-40秒下载一次所有数据,然后根据当前数据检查下载的数据:如果是相同则什么都不做;如果不同,则进行更改。但是,这似乎有点不必要,特别是因为数据可能暂时不会改变。在创建新的服务器数据时,是否有更有效的方法来更新应用程序数据?
答案 0 :(得分:1)
如果服务器支持ETag,请使用它。
Wikipedia ETag
“如果该URL上的资源内容发生变化,则会分配一个新的不同的ETag。”
答案 1 :(得分:1)
您可以向服务器发送HTTP HEAD请求,并将“If-Modified-Since”标头设置为您收到上一版本的时间。如果服务器正确处理此问题,则在文件未更改时应返回304(未修改);所以一旦它没有返回,你获取文件并照常进行。 见HTTP/1.1: Header Field Definitions