Как использовать NSURLSession, чтобы определить, изменился ли ресурс?

Я использую NSURLSession для запроса ресурса JSON с HTTP-сервера. Сервер использует Cache-Control для ограничения времени кэширования ресурса на клиентах.

Это прекрасно работает, но я также хотел бы кэшировать десериализованный объект JSON в памяти, поскольку к нему обращаются довольно часто, продолжая при этом использовать механизмы кэширования HTTP, встроенные в NSURLSession.

Я думаю, что могу сохранить несколько заголовков ответа HTTP:Content-MD5, Etag, а такжеLast-Modified вместе с десериализованным объектом JSON (я использую эти 3 поля, поскольку заметил, что не все HTTP-серверы возвращаютContent-MD5иначе этого было бы достаточно само по себе). В следующий раз, когда я получу ответ для объекта JSON, если эти 3 поля совпадают, я могу повторно использовать ранее десериализованный объект JSON.

Является ли этот надежный способ определения десертифицированного JSON все еще действительным. Если нет, как я могу определить, является ли десериализованный объект современным?

Ответы на вопрос(2)

Ваш ответ на вопрос