2009-06-02 14 views
26

Ho un'applicazione che esegue il polling di diverse fonti RSS sul web.criterio per polling rss

Qual è l'etichetta quando si esegue il polling dei server Web di altri. Con quale frequenza sondare, ecc.?

Quali sono le migliori pratiche?

risposta

36
  1. Utilizzare la cache HTTP. Invia intestazioni Etag e LastModified. Riconoscere la risposta 304 Not modified. In questo modo puoi risparmiare molta banda. Inoltre alcuni script riconoscono l'intestazione LastModified e restituiscono solo contenuti parziali (cioè solo i due o tre elementi più nuovi invece di tutti i 30 o giù di lì).

  2. Non eseguire il polling di RSS da servizi che supportano RPC Ping (o altri servizi PUSH, come PubSubHubbub). Cioè se si ricevono notifiche PUSH da un servizio, non è necessario eseguire il polling dei dati nell'intervallo standard: farlo una volta al giorno per verificare se il meccanismo funziona o meno (ping può essere disabilitato, riconfigurato, danneggiato, ecc.). In questo modo è possibile recuperare gli RSS solo al ricevimento della notifica, non ogni ora o così.

  3. Controllare il TTL (in RSS) o le intestazioni di controllo della cache (Expires in ATOM) e non recuperare fino alla scadenza della risorsa.

  4. Cercare di adattarsi alla frequenza di nuovi elementi in ogni singolo feed RSS. Se nella settimana scorsa c'erano solo due aggiornamenti in un particolare feed, non recuperarlo più di una volta al giorno.AFAIR Google Reader lo fa.

  5. Ridurre la velocità nelle ore notturne o in altri momenti in cui il traffico sul sito è basso.

  6. Finalmente, fallo una volta all'ora. ;)

+1

+1 Alcuni punti eccellenti. – cgp

+1

# 2 non è necessariamente una buona idea. Il sito che pubblica il feed RSS dovrebbe essere configurato per eseguire il ping del feed fetcher affinché funzioni. – ceejayoz

+0

sì, ceejayoz, intendevo esattamente quello. ho modificato la mia risposta un po ' –

1

Una volta è una frequenza che ho sentito.

5

FeedFetcher di Google afferma che i sondaggi feed rss poco meno di una volta all'ora.

Da: http://code.google.com/apis/ajaxfeeds/documentation/

feed Crawl Frequenza

Come la Google AJAX API feed utilizza Feedfetcher, i dati di alimentazione dalle API AJAX mangimi può non essere sempre aggiornati. Il crawler dei feed di Google ("Feedfetcher") recupera i feed dalla maggior parte dei siti meno di una volta ogni ora. Alcuni siti aggiornati di frequente possono essere aggiornati più spesso.

+0

+1 per il riferimento – cgp

+0

Poiché code.google.com non esiste più, il collegamento è morto. La documentazione è ancora supportata a partire dal 19/10/16 all'indirizzo: https://support.google.com/webmasters/answer/178852?hl=en – lordoku

2

Once an hour, se si vuole semplicemente andare con la regola empirica (ma il collegamento spiega alcune opzioni migliori).

+0

+1 per il riferimento – cgp

0

Rss ha un'impostazione ttl, quindi è necessario eseguire il polling solo quando scade il TTL.

Ma credo che se non mettono una nella sua il loro problema e si dovrebbe interrogare qualcosa di simile a una volta ogni ora

3

Beh ho intenzione di andare là fuori, ignorando i messaggi che dicono "Google dice, facciamo ", e diciamo: tutte le volte che è necessario.

RSS è lì per tenervi aggiornati. Se un feed pubblica 10 articoli all'ora, ma ne mostra solo cinque, perderai cinque di questi articoli e il feed non è al servizio del suo scopo. Potresti anche non colpirlo affatto.

Ovviamente, non è possibile eseguire il martello del server con richieste ma se pubblicano abbastanza per richiedere una volta al minuto, non vedo come sia irragionevole far corrispondere tale velocità.

+0

noterai che il riferimento di Google indica anche che usano una tariffa più alta per i feed frequentemente aggiornati. –

+1

Il mio punto (che sono d'accordo non è stato messo in discussione considerando che non ho letto la citazione) è che Google non è necessariamente l'essere tutto e finire tutte le migliori pratiche o l'etica. – Oli

0

Questa non è una risposta completa, ma cercare avvisi push.

The RSS blog indica che una buona pratica è chiedere weblogs.com sui blog modificati.

C'è anche un po 'di rumore, circa, pubsub, un modo per iscriversi agli avvisi push che hanno un certo slancio.

0

Ho notato che twitter utilizza intestazioni (personalizzate) X-RateLimit-Remaining e X-RateLimit-Limit (in risposta HTTP) per indicare il numero massimo di sondaggi autorizzati per i feed Atom. È un peccato che non abbiano usato il campo standard Expires (che è stato impostato per 30 anni nel passato: P) Suppongo che la loro pubblicità di Cache-Control: no-cache escluda anche il tempo di scadenza generico definito in RFC 2616 (sezione 13.2. *) . È ancora più un peccato che Atom non sembri fornire alcun modo standardizzato per dire quanto spesso si suggerisce di eseguire il polling del feed.