Как заявил Питер Пайчл, содержимое, которое ваш UIWebView помещает на свою тарелку, обычно не находится под вашим контролем.Это означает, что - если вы не полагаетесь только на фиксированный набор служб, находящихся строго под вашим контролем, - вы не можете полагаться на HTTP-заголовки для поиска какой-либо полезной мета-информации.
Как он и предлагал, вы можете вычислить контрольную суммусодержимого страницы (это то, что сильный Etag, скорее всего, будет делать в любом случае) и сравнить его с недавно извлеченной версией.Недостатком является то, что метод по своей природе strong , и вы получите ложные срабатывания, если вас интересуют только семантические обновления.Чтобы сделать ваше приложение бесполезным для определенного сайта, владелец может просто вставить метку времени где-нибудь в содержимое, поскольку каждое обновление будет выдавать другую контрольную сумму.
Следовательно, вы можете попытаться нормализовать данные перед вычислением контрольной суммы таким образом, чтобы принимать во внимание только значимые данные.Это, скорее всего, требует априорного знания сайта, который вы просматриваете, чтобы быть эффективным.
Другим способом было бы вычисление некоторой метрики подобия (с нормализацией или без нее) и иметьпорог для «обновленного» оповещения.Это может потребовать вычислительных ресурсов, и, что еще хуже, может потребоваться даже больше априорной информации (по крайней мере, метапараметров, таких как порог).