2009-12-29 13 views

risposta

3

È un tiro. Ecco perché devi configurare il tuo lettore con quale frequenza dovrebbe aggiornare il feed.

9

RSS è una tecnologia pull. Il lettore recupera il feed RSS di tanto in tanto (ad esempio due volte all'ora o più spesso se il lettore apprende che si tratta di un feed spesso aggiornato).

Il feed viene servito tramite HTTP regolare e consiste in un semplice file XML.

+1

La domanda era: come fa il lettore a sapere che c'è un aggiornamento? Legge continuamente gli stessi feed? Come fa a sapere che c'è un aggiornamento e non ricaricare quello già visto? –

10

Basta controllare il feed per l'aggiornamento regolarmente.

Recentemente c'è un nuovo protocollo chiamato pubsubhubbub per rendere push feed all'ascoltatore. Ma richiede che gli editori lo supportino.

Here è un elenco di servizi web supporto in tempo reale RSS spingendo, tra cui Google Reader, Blogger, FeedBurner, FriendFeed, MySpace, ecc

24

RSS è un formato di file source e in realtà non sa nulla su dove ottiene le voci da. La risposta è davvero: "come può una richiesta http ottenere solo i risultati più recenti da un server" e la risposta è Condizionale GETsource. Http supporta anche Conditional PUT.

This is an article sull'utilizzo di questa funzione di http per supportare in modo specifico gli hacker rss.

+0

Fantastico. Quell'articolo mi ha lasciato alla terminologia RSS che stavo cercando: "Conditional GET". E questo termine mi porta a trovare ciò che stavo cercando nei documenti Python per feedparser. Grazie ancora! Tutti dovrebbero fare +1 su questa risposta! –

5

Riassumiamo:

  • Di solito, un cliente sa che un feed RSS è stato aggiornato attraverso sondaggi, cioè tirare regolare (HTTP GET richiesta su l'URL del feed)
  • push non esiste il web, almeno, non con HTTP fino al HTML5 websocket è stato risolto.
  • Tuttavia, alcuni framework di blog come Wordpress, Google e altri, ora supportano la convenzione pubsubhubbub. In questa modalità, si "sottoscrive" gli aggiornamenti di un flusso RSS. L '"hub" chiamerà un URL sul TUO sito (URL di richiamata) per inviarti aggiornamenti: è una spinta.

Spingere o tirare, in entrambi i casi è ancora necessario scrivere una parte di codice per aggiornare l'elenco RSS sul tuo sito, database o ovunque lo memorizzi/visualizzi.

E, come una domanda a parte, non è necessario richiedere l'intero XML ad ogni pull per vedere se il contenuto è cambiato: utilizzando uno standard che non è collegato a RSS, ma globale all'intero protocollo HTTP (etag and last-modified headers), è possibile sapere se la pagina RSS è stata modificata dopo una data specifica e acquisire l'intero XML solo se modificato.