0

我有一个应用程序通过 NSURLConnection 以 JSON 对象的形式下载数据;然后它将数据显示给用户。由于随时可能在服务器上创建新数据,“意识到”并下载这些数据的最佳方式是什么?

目前我计划让应用程序每 30-40 秒下载一次所有数据,然后根据当前数据检查下载的数据:如果相同则什么也不做;如果不同,请继续进行更改。但是,这似乎有点不必要,特别是因为数据可能暂时不会改变。创建新的服务器数据时,是否有更有效的方法来更新应用程序数据?

4

2 回答 2

1

如果服务器支持,请使用 ETag。

Wikipedia ETag
“如果该 URL 的资源内容发生变化,则会分配一个新的不同的 ETag。”

于 2013-05-19T23:04:54.573 回答
1

您可以向服务器发送 HTTP HEAD 请求,并将“If-Modified-Since”标头设置为您收到最后一个版本的时间。如果服务器正确处理了这个问题,它应该在文件未更改时返回 304(未修改);因此,只要它没有返回,您就可以获取文件并照常进行。请参阅HTTP/1.1:标头字段定义

于 2013-05-19T23:07:47.730 回答