Portál AbcLinuxu, 2. května 2025 00:48
Malý, nenápadný, ale velmi šikovný element, to je <guid>. Je proto s podivem, že ho spousta webmasterů ignoruje.
Pokud nepíšete RSS kanály ručně (ahoj, Žirafko ), nepíšete generátor RSS kanálů ani se nechystáte RSS kanály zpracovávat, asi Vám příspěvek k ničemu nebude.
Element <guid> se může nacházet v RSS kanálu jako potomek elementu <item>
Přestože specifikace praví, že element je nepovinný, domnívám se, že je silně doporučený a zkusím jeho (ne)použití demonstrovat krátkým příkladem.
Pokud často opravuji chyby v kanálech, míra frustrace uživatele roste s počtem oprav. Je věcí dalšího výzkumu, kde přesně se nachází hranice, po které si uživatel smaže kanál z čtečky.
Pěknou ukázkou "nepoužití" elementu guid byla například oblíbená Latrína v období, když ladili automatický generátor textů - několikrát denně se měnil perex a tak pro moji čtečku byl dgx produktivnější než iDNES, iHNED a iLblog dohromady.
dtto jako nahoře, protože však feed obsahuje u položek item element guid s jedinečným identifikátorem článku. Inteligentní čtečka pak při aktualizaci pozná, že článek není nový, ale pouze opravený a uživatel se nebude divit.
Ukázka z živého feedu - nezajímavé elementy (date a category) odstraněny.
<item> <title>Expedice Sacha 2006</title> <link>http://www.cestovatel.cz/clanky/expedice-sacha-2006/</link> <guid isPermaLink="false">7571-cestovatel.cz</guid> <description><p>Po společné expedici do Mongolska za Olgojem Chorchojem v roce 2004 jsme se dohodli s Ivanem Mackerlem na cestě do severských lesů ruské tajgy, kde podle legend vyprávěných jakutskými lovci se nachází podivná obydlí – kotle z neznámého velice tvrdého načervenalého kovu.</p></description> <comments>http://www.cestovatel.cz/clanky/expedice-sacha-2006/nazory/</comments> </item>
Obsahem elementu guid je unikátní identifikátor publikovaného článku (resp.zdroje). Obvykle bývá obsahem elementu trvalý odkaz na článek, nepředpokládá se, že článek bude po publikaci měnit svoji adresu. Pokud se adresa občas mění, je možné elementu guid přidat atribut isPermaLink="false" a jako obsah elementu použít libovolný rozumný identifikátor - například interní číslo dokumentu, apod. - podobně jako to je použité v ukázce
Poznámka: pokud použijete jako obsah elementu pouze číslo, pravděpodobně na vás Feed Validator zakřičí, že nepoužíváte dostatečně unikátní hodnotu a doporučí něco, co obsahuje jméno Vašeho webu.
Pro testování feedu na obvyklé nectnosti (včetně absence tagu guid) jsem spáchal jednoduchou aplikaci: http://rss.na-mytince.cz/. Motivací pro zveřejnění byla kromě jiného také včerejší diskuse u Artura Denta.
[1] - čtečka teoreticky může za guid považovat adresu článku. Tato myšlenka však padá v okamžiku, kdy existuje web, kde je adresa všech článků stejná a mění se pouze perex.
Tiskni
Sdílej:
<id>
povinný.
Posílá hlavičku Etag: 1d23a3437ffb470b CHYBA: Špatně implementovaná hlavička Etag, feed byl znovu stažen.A přitom obě hlavičky jsou implementovány přesně podle RFC 2616. Posílané hodnoty jsou navíc v pořádku (Last-Modified odpovídá poslední změně, ETag se počítá jako hash z unikátního identifikátoru stránky a času poslední změny).
Posílá hlavičku Last-Modified: (2007, 2, 15, 10, 34, 31, 3, 46, 0) CHYBA: Špatně implementovaná hlavička Last-Modified:, feed byl znovu stažen.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.