2009-08-25 14 views
13

Bir feed'in ne zaman güncellendiğini algılamanın en iyi yolu nedir? Beslemeyi 15 dakikada bir kontrol eden bir uygulamam var. Yeni içeriğin eklenip eklenmediğini nasıl anlarım? RSS ve Atom beslemeleri için.RSS beslemesinde yeni yeni öğeler tespit etme

cevap

5

RSS 2 ve Atom'daki her bir öğe, benzersiz olarak işaretlenmiş bir GUID/ID'ye sahiptir. Benzersiz olarak işaretlenmişse, öğeleri tanımlamak ve önceki öğelere göre eşleştirmek için kullanabilirsiniz. Bu rss, atom veya web sunucunuza barındırılan başka bir kaynak için çalışacak burada http://www.infoq.com/articles/etags

gösterildiği gibi

+0

Bu gibi görünüyor ve gitmek için daha kolay bir yol ... Teşekkürler .. – haden

+0

Bu http://www.rssboard.org/rss-specification#ltguidgtSubelementOfLtitemgt göre 'guid' isteğe bağlı bir alan, bu yüzden bazı mevcut olmayabilir RSS beslemeleri ! – webNeat

3

Alanı talep ederken http yanıtının Son Değiştirme ve ETag alanlarını kontrol edin. Daha da iyisi, isteğiniz üzerine If-Modified-Since-If-None-Match etiketlerini kullanın ve eğer feed değiştirilmemişse sadece 304 yanıtı alacaksınız. (bkz .: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html)

+2

Tüm web sitesi yayınları etags'ı destekliyor mu? Ve etags kolayca javascript tarafından okunur? – haden

1

Bir servlet filtresinde hesaplanan projemde, üzerinde ETAGların kullanıyorum.