Gör rätt!

· 334 ord · 2 minut(er) att läsa

För några dagar sedan införde jag stöd för conditional get på RSS-flödena här, hur man gör i PHP finns beskrivet av Simon Willison. Det fungerar så att programmet kollar att någonting ändrats sedan förra besöket och enbart laddar hem flödet om något nytt tillkommit. Istället för kanske 18000 tecken överförs knappa 30 tecken, en väsentlig skillnad.

Det var först efteråt som jag tittade på hur klienterna betedde sig och då upptäckte jag någon som använde sig av NetNewsWire med ett uppdateringsintervall på åtta minuter. Mycket oftare än det vedertagna en hämtning per timme och IP-adress. Som tur är min blogg inte så populär att jag riskerar att hamna över bandbreddsgränsen men man bör ändå fundera på hur sin RSS-aggregator är inställd och hur den beter sig.

Om inte annat angetts bör man inte hämta ett flöde oftare än en gång per timme. Stödjer klienten och servern conditional get kan det vara OK att hämta flödet oftare. Stöder inte klienten conditional get och gzip-komprimerade flöden bör man se om nyare versioner gör det och uppdatera.

Glenn Fleishman spärrade ut klienter som betedde sig dumt och med lyckat resultat.

Men visst förstår jag dem som vill få snabbare uppdateringar än en gång per timme för sina flöden. Det finns mycket att göra på området. Något som kan göras redan nu är att använda sig av externa tjänster som Weblogs.com, blo.gs, Var är du? etc. för att avgöra om flödet ändrats sedan senaste hämtningen och hämta den trots att inte en timme förflutit. Nästa steg är P2P-nätverk mellan RSS-aggregatorer för att hålla reda på uppdateringar (något jag har för mig jag läst om) eller t.o.m. skicka flöden. I det senare fallet bör man nog införa någon sorts kryptografisk metod för att säkerställa att materialet är autentiskt.

En annan metod är att låta en centraliserad tjänst som FeedBurner eller Bloglines hämta flödet ofta och sedan låta dem ta smällen. FeedBurner hämtar flödet två gånger per timme men genom att pinga dem kan man uppdatera det när det behövs.