Ответ 1
Каждый элемент в RSS 2 и Atom имеет идентификатор GUID/ID, который может быть помечен как уникальный. Если он отмечен как уникальный, вы можете использовать его для идентификации элементов и сопоставления с предыдущими элементами.
Каков наилучший способ обнаружения при обновлении фида? Скажем, у меня есть приложение, которое проверяет канал каждые 15 минут. Как узнать, добавлен ли новый контент или нет? Для RSS, а также для каналов Atom.
Каждый элемент в RSS 2 и Atom имеет идентификатор GUID/ID, который может быть помечен как уникальный. Если он отмечен как уникальный, вы можете использовать его для идентификации элементов и сопоставления с предыдущими элементами.
Проверьте поля Last-Modified и ETag ответа HTTP при запросе поля. Еще лучше используйте теги If-Modified-Since и If-None-Match в вашем запросе, и вы получите только ответ 304, если канал не был изменен. (см.: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html)
Я использую etags в моем проекте, вычисленный в сервлет-фильтре, как показано здесь http://www.infoq.com/articles/etags
Это будет работать для rss, atom или любого другого ресурса, размещенного на вашем веб-сервере.