2009-08-25 26 views
13

Cách tốt nhất để phát hiện khi nguồn cấp dữ liệu đã được cập nhật là gì? Giả sử tôi có một ứng dụng thăm dò thức ăn mỗi 15 phút một lần. Làm cách nào để tìm hiểu xem nội dung mới đã được thêm hay chưa? Đối với nguồn cấp dữ liệu RSS cũng như Atom.Phát hiện các mục mới trong nguồn cấp dữ liệu RSS

Trả lời

5

Mỗi mục trong RSS 2 và Atom có ​​GUID/ID có thể được gắn cờ là duy nhất. Nếu nó được gắn cờ là duy nhất, bạn có thể sử dụng nó để xác định các mục và khớp với các mục trước đó.

+0

Điều này có vẻ như và cách dễ dàng hơn để đi ... Cảm ơn .. – haden

+0

Theo http://www.rssboard.org/rss-specification#ltguidgtSubelementOfLtitemgt này 'guid' là một trường tùy chọn để nó có thể không có mặt trong một số Nguồn cấp dữ liệu RSS ! – webNeat

3

Kiểm tra các trường được sửa đổi lần cuối và ETag của phản hồi http khi yêu cầu trường. Thậm chí tốt hơn, hãy sử dụng các thẻ If-Modified-Since và If-None-Match trong yêu cầu của bạn và bạn sẽ chỉ nhận được phản hồi 304 nếu nguồn cấp dữ liệu chưa được sửa đổi. (xem: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html)

+2

Tất cả nguồn cấp dữ liệu trang web có hỗ trợ etags không? Và etags có dễ đọc bởi javascript không? – haden

1

Tôi đang sử dụng etags về dự án của tôi, tính trong một bộ lọc servlet như đây http://www.infoq.com/articles/etags

Điều này sẽ làm việc cho rss, nguyên tử hay bất kỳ tài nguyên khác được lưu trữ trên máy chủ web của bạn.

Các vấn đề liên quan