Суть, есть велосипедик очередной, проверяет изменения на веб страничках, это я так узнаю про новости, проверяет сейчас в лоб, скачивает страницу и с горем пополам извлекает текст и делается нечто вроде diff от предыдущей сохранённой страницы, совпадающий текст заменяется * звёздочками так я вижу что изменилось на странице, типа вот так
Всё бы ладно, но в большинстве случаев, обновлений на страницах нет. Вот все кнопки что коричневые это значит что на странице ничего не изменилось. Но узнаёт программа про это, только целиком скачав страницу и сравнив с предыдущей копией в лоб. Подумалось что правильнее будет узнавать какой Last-Modified и на основании его уже качать или не качать новые данные со страницы. Вопрос, Last-Modified может врать? Если да, то как часто это делает. Может там неписаные правила какие настройки вебсерверов.
И сразу второй вопрос, нужно ли сначала делать запрос If-Modified-Since для явного указания что я хочу узнать изменилась ли страница с предыдущей даты конкретной или просто можно читать Last-Modified и сравнивать даты чисто на своей стороне, в смысле может ли быть что Last-Modified вернётся новым тогда и только тогда когда был запрос с If-Modified-Since?
Хочется просто пропускать загрузку страниц для проверки, если они реально без обновлений. В правильную ли я сторону думаю?
Я параллельно сам читаю всякое, но думаю спросить лишним не будет =)







