2011-06-20 16 views
8

Estoy escribiendo una pequeña aplicación para mi propio uso que consumirá una fuente RSS públicamente publicada.RSS: frecuencia de actualización?

Por lo que puedo decir, no hay ningún mecanismo de suscripción/publicación en el protocolo; Necesito tener mi aplicación HTTP-GET RSS feed periódicamente.

Si ese es el caso, me gustaría tomarlo cada diez minutos más o menos, pero estoy preocupado por ser visto como un abusador. Sin duda me preocuparía si viera a alguien hurgando en mi servidor cada diez minutos durante semanas.

¿Es esto una preocupación válida? ¿Hay algún consejo general sobre qué es una frecuencia de actualización "razonable"? ¿Tengo incluso mis datos correctos?

+0

Relacionado (no exactamente duplicado): http://stackoverflow.com/questions/6389255/rss-feed-how-to-recommend-an-update-interval/6394390#6394390 – bronsoja

+0

El feed craigslist no define ninguna de los atributos mencionados (ttl, skipDays, skipHours). – bukzor

Respuesta

8

Dado que RSS se basa en el protocolo HTTP, en general, la mayoría de los sitios deben respetar el encabezado HTTP If-Modified-Since. Esto es bastante liviano y la mayoría de los servidores deberían poder devolver esta información rápidamente.

Por lo tanto, para el lado del cliente, deberá realizar un seguimiento de la última vez que envió la solicitud y pasarla al servidor. Si el servidor devuelve un código 304, sabrá que nada ha cambiado. Pero, lo que es más importante, el servidor no necesita devolver la información del feed, lo que ahorra bytes de tráfico. Si el servidor devuelve 200, deberá procesar los resultados y guardar la fecha de respuesta.

En última instancia, la respuesta a esta pregunta depende del tipo de información que se encuentre en el otro extremo de la fuente RSS. Si es un blog, entonces probablemente una vez cada 4-8 horas sea suficiente. Pero si el feed RSS es un feed de cotización de acciones (no es probable, solo un ejemplo), entonces cada 10 minutos no es suficiente.

+0

Esa es una buena idea. También noté que establecieron un encabezado http que me da una pista: 'Cache-control: max-age = 900', lo que me hace pensar que no estaría fuera de servicio hacer esto cada 15 minutos. – bukzor