2009-12-29 16 views

Odpowiedz

3

To pociągnięcie. Dlatego musisz skonfigurować swój czytnik, jak często powinien on odświeżać kanał.

9

RSS to technologia "pull". Czytnik ponownie pobiera kanał RSS (na przykład dwa razy na godzinę lub częściej, jeśli czytelnik dowie się, że jest to często aktualizowany plik danych).

Kanał jest obsługiwany przez zwykły HTTP i składa się z prostego pliku XML.

+1

Pytanie brzmiało, w jaki sposób czytelnik wie, że jest aktualizacja? Czy ciągle czyta te same kanały? Skąd wiadomo, że jest aktualizacja i nie można ponownie załadować tego, co już widziałem? –

10

Po prostu regularnie sprawdzaj kanał dla aktualizacji.

Niedawno wprowadzono nowy protokół o nazwie pubsubhubbub, aby przesłać plik danych do odbiorcy. Wymaga to jednak od wydawców wsparcia.

Here znajduje się lista usług internetowych w czasie rzeczywistym obsługują RSS popychanie, w tym Czytnik Google, Blogger, FeedBurner, FriendFeed, MySpace itp

24

RSS to format pliku source i faktycznie nie wiedzieć cokolwiek o tym, skąd bierze wpisy. Odpowiedź brzmi: "w jaki sposób żądanie http może pobierać tylko najnowsze wyniki z serwera", a odpowiedź brzmi: Warunkowa GETsource. Http obsługuje również warunkowe PUT.

This is an article na temat korzystania z tej funkcji protokołu http w celu konkretnego wspierania hakerów rss.

+0

Awesome. Ten artykuł pozwolił mi zapoznać się z terminologią RSS, której szukałem: "Warunkowa GET". I ten termin doprowadził mnie do znalezienia tego, czego szukałem w dokumentach Pythona do feedparsera. Dzięki jeszcze raz! Każdy powinien dać +1 tej odpowiedzi! –

5

Podsumujmy:

  • Zazwyczaj klient wie, że kanał RSS został zaktualizowany przez odpytywanie, że jest regularna pull (HTTP GET żądanie na adres URL kanału)
  • push nie istnieje na sieć, przynajmniej nie z HTTP, dopóki nie zostanie naprawiony HTML5 websocket.
  • Jednak niektóre środowiska blogowe, takie jak Wordpress, Google i inne, obsługują teraz konwencję pubsubhubbub. W tym trybie użytkownik "zasubskrybuje" aktualizacje strumienia RSS. "Hub" wywoła URL na TWOJEJ stronie (URL wywołania zwrotnego), aby wysłać ci aktualizacje: to jest push.

Wciśnij lub pociągnij, w obu przypadkach musisz jeszcze napisać fragment kodu, aby zaktualizować listę RSS w swojej witrynie, bazie danych lub w dowolnym miejscu, w którym ją przechowujesz/wyświetlasz.

I, jako pytanie dodatkowe, nie jest konieczne żądanie całego XML przy każdym wyciągnięciu, aby sprawdzić, czy zawartość się zmieniła: za pomocą standardu, który nie jest połączony z RSS, ale globalny z całym protokołem HTTP (etag and last-modified headers), możesz sprawdzić, czy strona RSS została zmodyfikowana po określonej dacie i pobrać cały kod XML tylko po zmodyfikowaniu.

Powiązane problemy