| RSS | |
|---|---|
| Estensione | .rss, .xml
|
| Tipo MIME | application/rss+xml
|
| Sviluppatore | Netscape, UserLand Software, RSS-DEV Working Group, RSS Advisory Board |
| Licenza | Creative Commons Attribuzione-Condividi allo stesso modo (RSS 2.0) |
| 1ª pubblicazione | 15 marzo 1999 |
| Ultima versione | 2.0.11 (ramo RSS 2.0); 1.0 (ramo RDF) (30 marzo 2009) |
| Tipo | Feed |
| Estensione di | XML |
| Standard | de facto |
| Formato aperto? | Sì |
| Sito web | www.rssboard.org/rss-specification |
RSS è una famiglia di formati basati su XML per la distribuzione e l'aggregazione di contenuti Web. Un documento RSS, chiamato comunemente feed, elenca in forma strutturata gli aggiornamenti pubblicati da un sito — articoli, post, episodi audio — insieme a metadati come titolo, autore, data e collegamento all'originale. Un programma detto aggregatore o lettore di feed interroga periodicamente i feed a cui l'utente si è iscritto e ne presenta i contenuti in modo omogeneo, senza che sia necessario visitare i singoli siti a uno a uno.
La sigla è stata sciolta in tre modi diversi, corrispondenti a rami di sviluppo distinti e non a semplici sinonimi: RDF Site Summary nella versione originale del 1999 e in RSS 1.0, Rich Site Summary nelle versioni 0.9x di UserLand, e Really Simple Syndication in RSS 2.0. Questa ambiguità terminologica riflette la vicenda del formato, sviluppato in parallelo da gruppi in disaccordo tra loro e mai sottoposto a un processo di standardizzazione formale.
RSS non è uno standard approvato da un ente di normazione: è uno standard de facto. Il ramo principale, RSS 2.0, è mantenuto dall'RSS Advisory Board sotto licenza Creative Commons ed è fermo alla revisione 2.0.11 del 2009; il ramo RDF, RSS 1.0, è pubblicato da un gruppo di lavoro indipendente. Le frizioni tecniche e organizzative fra i due rami hanno portato nel 2003 alla creazione di un formato concorrente, Atom, questo sì standardizzato dall'IETF nel 2005. Nonostante il calo di popolarità presso il pubblico generalista, RSS resta l'infrastruttura di distribuzione del podcasting e uno dei principali canali di scambio automatico di contenuti fra siti Web.
L'idea di descrivere in forma strutturata e leggibile da una macchina i contenuti di un sito precede RSS di alcuni anni. Nel 1995 Ramanathan V. Guha e altri ricercatori dell'Advanced Technology Group di Apple svilupparono il Meta Content Framework (MCF), un modello per la rappresentazione di metadati che confluirà poi nelle specifiche del RDF. Nel 1997 Microsoft propose il Channel Definition Format (CDF), impiegato nella tecnologia push di Internet Explorer 4, mentre Dave Winer della UserLand Software pubblicava il proprio sito in un formato XML denominato scriptingNews.
La prima versione di RSS fu pubblicata da Netscape il 15 marzo 1999, su specifica scritta da Ramanathan V. Guha, per alimentare il portale web My Netscape Network. La sigla stava allora per RDF Site Summary e il formato era una applicazione di RDF: consentiva ai fornitori di contenuti di esporre titoli e collegamenti degli articoli, che il portale raccoglieva e mostrava ai propri utenti registrati. Un documento RSS 0.90 non poteva superare gli 8 kilobyte, conteneva un solo canale e al massimo quindici notizie.
L'adesione fu rapida e ampia. Il 10 luglio 1999 Netscape pubblicò la versione 0.91, redatta da Dan Libby, che abbandonava RDF in favore di XML puro e introduceva una DTD con le entità carattere di HTML. La semplificazione era deliberata: il modello RDF era considerato troppo complesso per l'uso che se ne faceva.
Netscape, assorbita da AOL, abbandonò progressivamente il progetto e chiuse l'aggregatore di My Netscape Network. Il formato fu però adottato dalla comunità dei blogger, e il 9 giugno 2000 UserLand Software pubblicò una propria versione 0.91, curata da Dave Winer, priva della DTD di Netscape.
La duplicazione della stessa sigla di versione da parte di due soggetti diversi, insieme al disaccordo sull'opportunità di tornare a RDF, provocò una scissione. Un gruppo di sviluppatori costituì l'RSS-DEV Working Group, presieduto da Rael Dornfest, che il 6 dicembre 2000 pubblicò RSS 1.0: un formato nuovamente conforme a RDF, esteso tramite namespace XML e vocabolari di metadati come il Dublin Core. Fra gli autori figurano Dan Brickley, Ramanathan V. Guha, Eric Miller e Aaron Swartz.
Contrariamente a un'attribuzione diffusa, RSS 1.0 non è una specifica del W3C: il documento è firmato e pubblicato dagli autori del gruppo di lavoro, con una propria nota di copyright, e non ha mai seguito il processo di raccomandazione del Consorzio. Il W3C non ha mai standardizzato alcuna versione di RSS; il legame è indiretto, in quanto RSS 1.0 si conforma alla specifica RDF, che è invece una raccomandazione del W3C.
Diciannove giorni dopo, il 25 dicembre 2000, UserLand rispose con RSS 0.92, evoluzione del proprio ramo XML, che rimuoveva diversi limiti della 0.91, ammetteva HTML nel campo della descrizione e introduceva l'elemento <enclosure>. Le successive bozze 0.93 e 0.94, del 2001 e del 2002, non furono mai pubblicate come versioni ufficiali e non compaiono nella cronologia mantenuta dall'RSS Advisory Board.
Nell'agosto 2002 UserLand pubblicò RSS 2.0, erede diretto del ramo 0.9x. La novità principale è il pieno supporto ai namespace XML, che rende il formato estendibile senza modificarne il nucleo, insieme a nuovi elementi come <author>, <comments>, <guid> e <ttl>. Il numero di versione fu portato a 2.0 proprio per segnalare che il formato di base era considerato concluso: le estensioni sarebbero avvenute per moduli.
Il 15 luglio 2003 UserLand cedette il copyright della specifica al Berkman Center for Internet & Society della Harvard Law School, che la ripubblicò sotto licenza Creative Commons Attribuzione-Condividi allo stesso modo. Contestualmente Winer costituì con Brent Simmons e Jon Udell l'RSS Advisory Board, l'organismo che da allora cura la specifica: dieci revisioni successive hanno chiarito punti ambigui senza modificare il formato, fino alla 2.0.11 del 30 marzo 2009, tuttora corrente. Nel 2008 anche Netscape trasferì all'Advisory Board le specifiche 0.90 e 0.91.
Nel giugno 2003 Sam Ruby aprì un wiki per discutere la progettazione di «una voce di log ben formata», raccogliendo gli sviluppatori insoddisfatti tanto della frammentazione tecnica quanto delle controversie sulla titolarità del formato. Il progetto, inizialmente chiamato Echo, prese il nome di Atom e nel giugno 2004 fu portato all'IETF, dove il gruppo di lavoro atompub venne presieduto da Tim Bray e Paul Hoffman.
Nel dicembre 2005 l'Atom Syndication Format fu pubblicato come standard proposto nella RFC 4287, seguito nell'ottobre 2007 dall'Atom Publishing Protocol nella RFC 5023. Rispetto a RSS 2.0, Atom definisce un modello dati esplicito, impone le marche temporali nel formato RFC 3339 anziché RFC 822, consente di indicare la lingua di ogni singolo elemento tramite l'attributo xml:lang e distingue in modo non ambiguo il testo semplice dal contenuto marcato.
Fra il 2004 e il 2006 RSS raggiunse il pubblico generalista. Nel settembre 2004 Mozilla Firefox introdusse un'icona quadrata arancione, disegnata da Stephen Horlander, per segnalare la presenza di un feed; nel dicembre 2005 i team di Internet Explorer e Outlook annunciarono di adottarla, e pochi mesi dopo fece lo stesso Opera. L'icona divenne così il segno convenzionale dei feed, sostituendo la pluralità di pulsanti e diciture testuali usati fino ad allora.
La diffusione presso gli utenti finali restò tuttavia circoscritta. Secondo le rilevazioni di Forrester Research, la quota di adulti statunitensi che utilizzavano feed RSS almeno una volta a settimana passò da circa il 7% del 2008 a poco più del 4% del 2012. Il 13 marzo 2013 Google annunciò la chiusura di Google Reader, allora il lettore di feed più diffuso, motivandola con il calo di utilizzo; il servizio fu dismesso il 1º luglio successivo, nonostante petizioni che raccolsero decine di migliaia di firme. L'episodio è comunemente indicato come lo spartiacque della popolarità di RSS presso il grande pubblico.
Il formato non è però scomparso: resta lo strumento di distribuzione universale del podcasting, è impiegato dagli aggregatori di notizie e dai sistemi di monitoraggio, e ha conosciuto una nuova attenzione con la diffusione di piattaforme che rifiutano la mediazione degli algoritmi delle reti sociali.
Le versioni di RSS appartengono a due famiglie tecnicamente distinte e non interoperabili.
Il ramo Netscape–UserLand (0.91, 0.92, 2.0) è XML puro: la radice è l'elemento <rss>, dotato di attributo version, e la struttura è deliberatamente semplice. È il ramo di gran lunga più diffuso.
Il ramo RDF (0.90 e 1.0) è un'applicazione di RDF: la radice è <rdf:RDF> e il documento è al tempo stesso un feed e un grafo di asserzioni interrogabile con gli strumenti del Web semantico. RSS 1.0 è estendibile per moduli senza toccare il nucleo del formato: è questa la differenza sostanziale rispetto all'altro ramo, che alla stessa esigenza ha risposto più tardi con i namespace XML.
I due rami condividono il vocabolario di base — un canale contenente una serie di elementi — ma non la sintassi, e un documento dell'uno non è un documento valido dell'altro. La maggior parte dei lettori di feed li interpreta comunque entrambi, insieme ad Atom.
| Data | Versione | Pubblicata da | Autore | Modello |
|---|---|---|---|---|
| 15 marzo 1999 | 0.90 | Netscape | Ramanathan V. Guha | RDF |
| 10 luglio 1999 | 0.91 | Netscape | Dan Libby | XML con DTD |
| 9 giugno 2000 | 0.91 | UserLand Software | Dave Winer | XML |
| 6 dicembre 2000 | 1.0 | RSS-DEV Working Group | gruppo di lavoro | RDF |
| 25 dicembre 2000 | 0.92 | UserLand Software | Dave Winer | XML |
| 19 agosto 2002 | 2.0 | UserLand Software | Dave Winer | XML con namespace |
| 15 luglio 2003 | 2.0.1 | Berkman Center, Harvard | Dave Winer | XML con namespace |
| 30 marzo 2009 | 2.0.11 (corrente) | RSS Advisory Board | RSS Advisory Board | XML con namespace |
Fonte: cronologia dell'RSS Advisory Board. Le bozze 0.93 e 0.94 non vi compaiono in quanto mai pubblicate come versioni ufficiali.
La coesistenza di più versioni con numerazioni sovrapposte ha prodotto un problema di compatibilità a lungo dibattuto. Le dichiarazioni di retrocompatibilità contenute nelle specifiche sono state contestate: nel febbraio 2004 lo sviluppatore Mark Pilgrim pubblicò un'analisi comparata, ampiamente citata, in cui documentava le modifiche incompatibili introdotte da ciascuna versione e concludeva polemicamente che le versioni di RSS reciprocamente incompatibili non erano sette, come si sosteneva allora, ma nove.
Fra le divergenze rilevate:
<hour> contenuto in <skipHours> assume valori da 0 a 23 nelle specifiche Netscape e in RSS 2.0.1, ma da 1 a 24 nel ramo UserLand precedente;textinput di Netscape è scritto textInput da UserLand: essendo XML sensibile alle maiuscole, si tratta di due elementi diversi;<description> passa da testo semplice in RSS 0.91 a HTML in RSS 0.92, senza che il numero di versione segnali il cambiamento semantico;type su <description> per dichiarare il tipo MIME del contenuto; RSS 2.0 lo eliminò, considerandolo fonte di confusione, lasciando però indeterminato il modo in cui un programma debba stabilire se una descrizione contenga HTML.Le revisioni successive alla 2.0 sono state pubblicate mantenendo invariato il numero di versione dichiarato nei documenti, che resta 2.0: un programma non può quindi distinguere dal solo feed a quale revisione della specifica esso si conformi. Per attenuare questi problemi l'RSS Advisory Board ha pubblicato nel 2007 il RSS Best Practices Profile, una raccolta di raccomandazioni sull'uso degli elementi ambigui.
La sequenza che segue documenta, versione per versione, come si presenta lo stesso feed di esempio e quali modifiche incompatibili sono state introdotte a ogni passaggio.
La versione originale di Netscape, conforme a RDF, con la radice <rdf:RDF>:
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns="http://my.netscape.com/rdf/simple/0.9/">
<channel>
<title>Mozilla Dot Org</title>
<link>http://www.mozilla.org</link>
<description>the Mozilla Organization web site</description>
</channel>
<image>
<title>Mozilla</title>
<url>http://www.mozilla.org/images/logo.gif</url>
<link>http://www.mozilla.org</link>
</image>
<item>
<title>New Status Updates</title>
<link>http://www.mozilla.org/status/</link>
</item>
</rdf:RDF>
Netscape abbandonò la sintassi RDF e riprogettò il formato come XML puro, aggiungendo una DTD che definiva le entità carattere ammesse. La versione è quindi deliberatamente incompatibile con la 0.90:
<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
<rss version="0.91">
<channel>
<title>Example Channel</title>
<link>http://example.com/</link>
<description>an example feed</description>
<language>en</language>
<rating>(PICS-1.1 "http://www.classify.org/safesurf/" l r (SS~~000 1))</rating>
<textinput>
<title>Search this site:</title>
<description>Find:</description>
<name>q</name>
<link>http://example.com/search</link>
</textinput>
<skipHours>
<hour>0</hour>
</skipHours>
<item>
<title>1 < 2</title>
<link>http://example.com/1_less_than_2.html</link>
<description>1 < 2, 3 < 4.
In HTML, <b> starts a bold phrase
and you start a link with <a href=
</description>
</item>
</channel>
</rss>
Nel giugno 2000 UserLand pubblicò con lo stesso numero di versione una specifica propria, sostituendo le note di copyright di Netscape. Le differenze rispetto alla 0.91 di Netscape sono tre: l'elemento <hour> contenuto in <skipHours> passa dall'intervallo 0–23 a 1–24; l'elemento textinput diventa textInput, che essendo XML sensibile alle maiuscole è un elemento diverso; la DTD viene rimossa, e con essa la validità delle 96 entità carattere che ammetteva.
<rss version="0.91">
<channel>
<title>Example Channel</title>
<link>http://example.com/</link>
<description>an example feed</description>
<language>en</language>
<rating>(PICS-1.1 "http://www.classify.org/safesurf/" l r (SS~~000 1))</rating>
<textInput>
<title>Search this site:</title>
<description>Find:</description>
<name>q</name>
<link>http://example.com/search</link>
</textInput>
<skipHours>
<hour>24</hour>
</skipHours>
<item>
<title>1 < 2</title>
<link>http://example.com/1_less_than_2.html</link>
<description>1 < 2, 3 < 4.
In HTML, <b> starts a bold phrase
and you start a link with <a href=
</description>
</item>
</channel>
</rss>
Pubblicata dall'RSS-DEV Working Group nel dicembre 2000, torna alla sintassi RDF e adotta un namespace XML del tutto diverso da quello della 0.90. L'indice degli elementi è dichiarato nel canale tramite <rdf:Seq>, separatamente dagli elementi stessi:
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns="http://purl.org/rss/1.0/">
<channel rdf:about="http://www.example.org/feed">
<title>Example Dot Org</title>
<link>http://www.example.org</link>
<description>the Example Organization web site</description>
<image rdf:resource="http://www.example.org/images/logo.gif"/>
<items>
<rdf:Seq>
<rdf:li resource="http://www.example.org/status/"/>
</rdf:Seq>
</items>
</channel>
<image rdf:about="http://www.example.org/images/logo.gif">
<title>Example</title>
<url>http://www.example.org/images/logo.gif</url>
<link>http://www.example.org</link>
</image>
<item rdf:about="http://www.example.org/status/">
<title>New Status Updates</title>
<link>http://www.example.org/status/</link>
<description>News about the Example project</description>
</item>
</rdf:RDF>
Pubblicata da UserLand nel dicembre 2000, rimuove diversi limiti della 0.91 e introduce l'elemento <enclosure>. La modifica incompatibile non è visibile nella sintassi: il contenuto di <description> passa da testo semplice a HTML.
<rss version="0.92">
<channel>
<title>Example Channel</title>
<link>http://example.com/</link>
<description>an example feed</description>
<language>en</language>
<rating>(PICS-1.1 "http://www.classify.org/safesurf/" l r (SS~~000 1))</rating>
<textInput>
<title>Search this site:</title>
<description>Find:</description>
<name>q</name>
<link>http://example.com/search</link>
</textInput>
<skipHours>
<hour>24</hour>
</skipHours>
<item>
<title>1 < 2</title>
<link>http://example.com/1_less_than_2.html</link>
<description>1 < 2, 3 < 4.
In HTML, <b> starts a bold phrase
and you start a link with <a href=
</description>
</item>
</channel>
</rss>
Questo documento appare quasi identico all'esempio 0.91 di UserLand, ma la descrizione ha un significato diverso. Per ottenere lo stesso risultato semantico il testo va convertito così:
<rss version="0.92">
<channel>
<title>Example Channel</title>
<link>http://example.com/</link>
<description>an example feed</description>
<language>en</language>
<rating>(PICS-1.1 "http://www.classify.org/safesurf/" l r (SS~~000 1))</rating>
<textInput>
<title>Search this site:</title>
<description>Find:</description>
<name>q</name>
<link>http://example.com/search</link>
</textInput>
<skipHours>
<hour>24</hour>
</skipHours>
<item>
<title>1 < 2</title>
<link>http://example.com/1_less_than_2.html</link>
<description>1 &lt; 2, 3 &lt; 4.
In HTML, &lt;b&gt; starts a bold phrase
and you start a link with &lt;a href=
</description>
</item>
</channel>
</rss>
Bozza dell'aprile 2001, mai pubblicata come versione ufficiale. Mantiene la struttura della 0.92 e aggiunge l'elemento facoltativo <expirationDate>:
<rss version="0.93">
<channel>
<title>Example Channel</title>
<link>http://example.com/</link>
<description>an example feed</description>
<language>en</language>
<rating>(PICS-1.1 "http://www.classify.org/safesurf/" l r (SS~~000 1))</rating>
<textInput>
<title>Search this site:</title>
<description>Find:</description>
<name>q</name>
<link>http://example.com/search</link>
</textInput>
<skipHours>
<hour>24</hour>
</skipHours>
<item>
<title>1 < 2</title>
<link>http://example.com/1_less_than_2.html</link>
<description>1 &lt; 2, 3 &lt; 4.
In HTML, &lt;b&gt; starts a bold phrase
and you start a link with &lt;a href=
</description>
<expirationDate>Sat, 29 Nov 2003 10:17:13 GMT</expirationDate>
</item>
</channel>
</rss>
Bozza dell'agosto 2002, anch'essa mai pubblicata ufficialmente. Elimina <expirationDate>, introdotto dalla 0.93, e aggiunge a <description> un attributo type con cui dichiarare il tipo MIME del contenuto. Il valore predefinito è text/html: in assenza dell'attributo il comportamento coincide con quello della 0.92.
<rss version="0.94">
<channel>
<title>Example Channel</title>
<link>http://example.com/</link>
<description>an example feed</description>
<language>en</language>
<rating>(PICS-1.1 "http://www.classify.org/safesurf/" l r (SS~~000 1))</rating>
<textInput>
<title>Search this site:</title>
<description>Find:</description>
<name>q</name>
<link>http://example.com/search</link>
</textInput>
<skipHours>
<hour>24</hour>
</skipHours>
<item>
<title>1 < 2</title>
<link>http://example.com/1_less_than_2.html</link>
<description type="text/plain">1 < 2, 3 < 4.
In HTML, <b> starts a bold phrase
and you start a link with <a href=
</description>
</item>
</channel>
</rss>
Pubblicata da UserLand nell'agosto 2002 a partire dalla bozza 0.94. Elimina l'elemento <rating>, ammesso da tutte le versioni precedenti, e l'attributo type su <description>, considerato fonte di confusione. La specifica stabilisce che la descrizione «può contenere o meno» HTML, senza fornire a un programma un modo per distinguere i due casi.
<rss version="2.0">
<channel>
<title>Example Channel</title>
<link>http://example.com/</link>
<description>an example feed</description>
<language>en</language>
<textInput>
<title>Search this site:</title>
<description>Find:</description>
<name>q</name>
<link>http://example.com/search</link>
</textInput>
<skipHours>
<hour>24</hour>
</skipHours>
<item>
<title>1 < 2</title>
<link>http://example.com/1_less_than_2.html</link>
<description>1 < 2, 3 < 4.
In HTML, <b> starts a bold phrase
and you start a link with <a href=
</description>
</item>
</channel>
</rss>
Nel novembre 2002 la specifica fu rivista riportando l'intervallo di <hour> da 1–24 a 0–23, come nelle versioni Netscape; nel gennaio 2003 una seconda revisione reintrodusse l'elemento <rating>. In entrambi i casi il documento pubblicato sostituì il precedente e il numero di versione dichiarato nei feed rimase 2.0:
<rss version="2.0">
<channel>
<title>Example Channel</title>
<link>http://example.com/</link>
<description>an example feed</description>
<language>en</language>
<rating>(PICS-1.1 "http://www.classify.org/safesurf/" l r (SS~~000 1))</rating>
<textInput>
<title>Search this site:</title>
<description>Find:</description>
<name>q</name>
<link>http://example.com/search</link>
</textInput>
<skipHours>
<hour>0</hour>
</skipHours>
<item>
<title>1 < 2</title>
<link>http://example.com/1_less_than_2.html</link>
<description>1 < 2, 3 < 4.
In HTML, <b> starts a bold phrase
and you start a link with <a href=
</description>
</item>
</channel>
</rss>
Ne consegue che un feed dichiarato {{{code}}} contenente <hour>24</hour>, valido secondo la specifica pubblicata fino al 10 novembre 2002, risultava non valido secondo quella dell'11 novembre, senza che nulla nel documento lo segnalasse.
Nonostante le differenze fra le versioni, tutti i documenti RSS condividono la stessa impostazione:
<channel>, che descrive la fonte nel suo complesso: titolo, collegamento al sito, descrizione, e opzionalmente lingua, data di pubblicazione, informazioni sul copyright, immagine;<item>, ciascuno corrispondente a un singolo contenuto e dotato di propri titolo, collegamento, descrizione, autore, data e identificatore.In RSS 2.0 tutti gli elementi dell'item sono facoltativi, purché ne sia presente almeno uno fra <title> e <description>. L'elemento <guid> (globally unique identifier) fornisce un identificatore stabile che consente ai lettori di riconoscere i contenuti già visti anche quando il collegamento cambia.
Un feed RSS 2.0 minimo ma completo:
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title>Esempio</title>
<link>https://www.esempio.it/</link>
<description>Un feed di esempio</description>
<language>it</language>
<lastBuildDate>Mon, 15 Jun 2026 09:00:00 +0200</lastBuildDate>
<item>
<title>Titolo dell'articolo</title>
<link>https://www.esempio.it/articolo</link>
<description>Riassunto dell'articolo.</description>
<pubDate>Mon, 15 Jun 2026 08:30:00 +0200</pubDate>
<guid isPermaLink="true">https://www.esempio.it/articolo</guid>
</item>
</channel>
</rss>
Lo stesso contenuto espresso in RSS 1.0 richiede la sintassi RDF, con l'indice degli elementi dichiarato separatamente dagli elementi stessi:
<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns="http://purl.org/rss/1.0/">
<channel rdf:about="https://www.esempio.it/feed">
<title>Esempio</title>
<link>https://www.esempio.it/</link>
<description>Un feed di esempio</description>
<items>
<rdf:Seq>
<rdf:li resource="https://www.esempio.it/articolo"/>
</rdf:Seq>
</items>
</channel>
<item rdf:about="https://www.esempio.it/articolo">
<title>Titolo dell'articolo</title>
<link>https://www.esempio.it/articolo</link>
<description>Riassunto dell'articolo.</description>
</item>
</rdf:RDF>
L'elemento <enclosure>, introdotto in RSS 0.92, associa a un item un file esterno indicandone l'indirizzo, la dimensione in byte e il tipo MIME:
<enclosure url="https://www.esempio.it/episodio.mp3"
length="12216320" type="audio/mpeg"/>
L'elemento nasce da una proposta di Tristan Louis, implementata da Winer nel dicembre 2000 su sollecitazione di Adam Curry, che sosteneva l'uso di RSS per la distribuzione di file audio. L'11 gennaio 2001 Winer ne diede la prima dimostrazione pubblica distribuendo una registrazione dei Grateful Dead attraverso il proprio feed.
La funzionalità restò per anni priva di pubblico. Nell'ottobre 2003 Curry pubblicò RSS2iPod, uno script che estraeva i file allegati da un feed e li trasferiva su un iPod; il 12 febbraio 2004 il giornalista Ben Hammersley coniò sul Guardian il termine podcasting in un articolo sulla diffusione della radio amatoriale in rete. Da allora RSS è il meccanismo su cui si fonda l'intero ecosistema dei podcast: le principali piattaforme di distribuzione non ospitano i contenuti, ma si limitano a indicizzare feed RSS pubblici, arricchiti dalle estensioni proprietarie introdotte da Apple nel 2005 per iTunes.
Dalla versione 2.0 RSS è estendibile dichiarando namespace XML, senza modificare il nucleo del formato. Le estensioni più diffuse sono:
http://search.yahoo.com/mrss/), nato in Yahoo! e oggi mantenuto dall'RSS Advisory Board, per descrivere contenuti multimediali con miniature, durate, licenze e classificazioni;Il tipo di contenuto convenzionalmente usato per i feed RSS è application/rss+xml. A differenza di application/atom+xml, registrato presso la IANA contestualmente alla pubblicazione della RFC 4287, il tipo di RSS non ha mai completato la procedura di registrazione: due proposte in forma di Internet Draft sono decadute senza esito, in assenza di un ente riconosciuto che potesse sponsorizzarne l'iter. Il tipo è quindi universalmente impiegato ma formalmente non registrato.
Un sito può segnalare i propri feed inserendo nell'intestazione delle pagine HTML un elemento <link>, che consente a browser e aggregatori di rilevarli senza intervento dell'utente. La convenzione, formalizzata dall'RSS Advisory Board nel 2006, prevede la forma:
<link rel="alternate" type="application/rss+xml" title="RSS"
href="https://www.esempio.it/feed" />
I programmi che consumano feed si distinguono in due categorie. I lettori di feed scaricano periodicamente i feed a cui l'utente è iscritto e ne presentano i contenuti in ordine cronologico, in un'interfaccia simile a quella della posta elettronica; possono essere applicazioni locali, estensioni del browser o servizi Web. Gli aggregatori in senso stretto raccolgono contenuti da molte fonti e li riorganizzano secondo criteri propri — argomento, rilevanza, popolarità — costituendo la base tecnica di numerosi servizi di rassegna stampa e monitoraggio.
Poiché RSS si basa su interrogazione periodica (polling), un aggregatore deve scaricare ripetutamente i feed per accorgersi delle novità. Gli elementi <ttl> e <skipHours>, e a livello di protocollo le intestazioni HTTP condizionali, servono a limitare il traffico che ne deriva.
| Controllo di autorità | LCCN (EN) sh2005002920 · GND (DE) 4734489-1 · BNE (ES) XX558871 (data) · J9U (EN, HE) 987007547139705171 |
|---|