RSS

RSS
Utvidelse.rss, .xml
MIME-typeapplication/rss+xml
Utviklet avNetscape
FyrMate
Forlengelse avXML

RSS (forkortelse for RDF Site Summary [1] , ofte referert til som Really Simple Syndication [2] eller Rich Site Summary ) er et av de mest populære formatene for distribusjon av nettinnhold ; den er basert på XML , som den har arvet enkelhet, utvidbarhet og fleksibilitet fra. Hovedapplikasjonen som det er kjent for, er strømmene som lar deg bli oppdatert på nye artikler eller kommentarer publisert på nettstedene av interesse uten å måtte besøke dem manuelt én etter én.

RSS definerer en struktur som er egnet til å inneholde et sett med nyheter, som hver vil være sammensatt av forskjellige felt (forfatternavn, tittel, tekst, sammendrag, ...). Når nyheter publiseres i RSS-format, oppdateres strukturen med de nye dataene; siden formatet er forhåndsdefinert, vil enhver RSS-leser kunne presentere nyheter fra de mest forskjellige kilder på en homogen måte.

Utvikling

Den ble først lansert av Netscape . Det var et format avledet fra RDF (et generisk språk for å representere informasjon på nettet) for å administrere innholdet i My Netscape Network -nettportalen Arkivert 28. august 2019 i Internet Archive .: Formatet tillot visning av overskrifter og lenker på portalen knyttet til nyheter publisert på andre nettsteder og gjort tilgjengelig etter svært spesifikke spesifikasjoner. Det ble umiddelbart en stor suksess: Kort sagt, hundrevis av innholdsleverandører ble med på initiativet og My Netscape-portalen kunne dra nytte av en enorm samling av nyheter tilgjengelig for de registrerte brukerne.

I mellomtiden ble det samme formatet (og dets påfølgende variasjoner) gradvis tatt i bruk av bloggfellesskapet : blogginnlegg kunne enkelt eksporteres til RSS, for å gjøres tilgjengelig for innholdsinnsamlingstjenester. Populariteten til blogger er kanskje en av hovedårsakene til suksessen til RSS: tusenvis av nettlogger begynte å produsere innhold i RSS og begynte å spre nettsteder som samlet et utvalg av innlegg fra de mest fulgte bloggene (de såkalte bloggaggregatorene ) og programmer for å bruke innholdet i en blogg direkte på skrivebordet ditt eller på andre enheter (RSS-lesere).

For øyeblikket er RSS de facto - standarden for eksport av webinnhold. Store nyhetssider, nettaviser, innholdsleverandører, populære blogger ser alle ut til å ha tatt i bruk RSS-formatet. Brukere kan nå få tilgang til tusenvis av RSS-strømmer: noen nettsteder (kataloger) samler referanser til de utallige RSS-strømmene som er tilgjengelige på nettet.

Sluttbrukeren utnytter faktisk RSS-teknologi gjennom to makrotyper programvare. Den ene, den til RSS-feed-lesere, den andre den til aggregatorer, som - faktisk - samler nyheter fra de mest forskjellige RSS-kildene gjennom spesifikke algoritmer.

Ett format, mange "dialekter"

Formatet som opprinnelig ble tatt i bruk av Netscape var en forenkling av det første utkastet som ble foreslått av W3C . Netscape kalt versjon 0.9: mens W3C-forslaget var helt RDF -kompatibelt , eliminerte Netscape-versjonen de mer komplekse aspektene, og var totalt urelatert til det.

I 2000 publiserte W3C den første offisielle versjonen av RSS (versjon 1.0): versjonen var kompatibel med RDF, integrerte muligheten for å utvide formatet med nye moduler og støtte for XML -navneområder . Nesten samtidig distribuerte Dave Winer ( administrerende direktør i Userland Software, produsent av det populære bloggutgiveren Radio Userland), en versjon av RSS, datter av formatet som brukes av Netscape, kalt 0.91. På grunn av populariteten til formatet som ble tatt i bruk av Netscape først, og av Userland senere, har 0.91-formatet begynt å eksistere sammen med det som ble foreslått av W3C . De to formatene er inkompatible (selv om hovedfeedleserne er i stand til å tolke begge riktig).

0.91-formatet har utviklet seg og mistet noen begrensninger i versjon 0.92 og har blitt ytterligere foredlet i versjon 2.0 (utgitt av Userland i 2002 ). Faktisk har vi å gjøre med minst tre forskjellige "dialekter":

De som produserer innhold som skal distribueres i RSS-format, blir dermed tvunget til å velge hvilken versjon de skal bruke eller, som i de fleste tilfeller, eksportere innholdet i alle tilgjengelige formater.

Til tross for de forskjellige implementeringene av de forskjellige versjonene, deler alle RSS-dokumenter den samme grunnleggende strukturen, som inkluderer:

RSS 0.92

RSS 0.92 ble utviklet av Dave Winer (av Userland Software) i 2000. Det er en utvidelse av det originale RSS 0.91-formatet som legger til noen ekstra elementer og fjerner noen begrensninger for elementene som ble pålagt i forrige versjon.

Ytterligere elementer tillater implementering av funksjoner som tillater abonnement på feeden (for å motta automatiske varsler når feeden oppdateres).

RSS 2.0

RSS 2.0 er en videreutvikling av 0.92-formatet (og vil ifølge forfatter Dave Winer ikke gjennomgå ytterligere endringer i fremtiden). Spesielt er det noen nyttige tilleggselementer (,,, ) <comments>og modularisering (og påfølgende utvidelsesmuligheter) gjennom XML -navneområder støttes fullt ut . <author><ttl><guid>

Hvert RSS 0.92-dokument er også et gyldig RSS 2.0-dokument.

RSS 1.0

Versjon 1.0 av RSS, utviklet av World Wide Web Consortium, er basert på RDF-formatet, et metaspråk - i seg selv avledet fra XML - som brukes for beskrivelse og distribusjon av generisk innhold.

RSS 1.0 er designet for å kunne utvides gjennom XML-navneområder: det er faktisk mulig å utvide RSS 1.0 ved bruk av moduler uten å måtte endre "hjertet" av formatet. Dette er den grunnleggende forskjellen med de andre "dialektene" til RSS.

Historien om RSS og dens kompatibilitet

I mai 1999 ga Netscape ut RSS 0.90. RSS 0.90 ser slik ut:

Eksempel 1. RSS 0,90

<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> nettstedet til Mozilla-organisasjonen </description> </channel> <image > <tittel> Mozilla </title> <url> http://www.mozilla.org/images/logo.gif </url> <link> http://www.mozilla.org </link> </ image > <item> <title> Nye statusoppdateringer </title> <link> http://www.mozilla.org/status/ </link> </item> </ rdf: RDF>

I juni 1999 ga Netscape ut RSS 0.91. RSS 0.91 var med vilje inkompatibel med RSS 0.90. Netscape eliminerte RDF-kompatibel syntaks og redesignet RSS for å være ren XML. De la også til en DTD som definerte flere tillatte enheter.

Netscapes RSS 0.91 ser slik ut: Eksempel 2. Netscape RSS 0.91

<! DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd"> <rss versjon = "0.91" > <kanal> <tittel> Eksempelkanal </title> <link> http://example.com/ </link> <description> en eksempelfeed </description> <language> no </language> <rating> (PICS-1.1 "http://www.classify.org/safesurf/ "lr (SS ~~ 000 1)) </rating> <textinput> <title> Søk på denne siden: </title> <description> Finn: </description> <name> q </name> <link> http: //example.com/søk </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. I HTML, & lt; b & gt; starter en fet setning og du starter en kobling med <a href= </description> </item> < /channel> </rss>

I juni 2000 tok Userland Netscapes RSS-spesifikasjon, fjernet Netscapes opphavsrettserklæringer ved å sette inn sine egne, gjorde inkompatible endringer, kalt denne RSS 0.91, og hevdet at den var kompatibel med Netscape RSS 0.90.

Userland RSS 0.91 ser slik ut: Eksempel 3. Userland RSS 0.91

<rss version = "0.91" > <channel> <title> Eksempelkanal </title> <link> http://example.com/ </link> <description> en eksempelfeed </description> <language> no < / språk> <rating> (PICS-1.1 "http://www.classify.org/safesurf/" lr (SS ~~ 000 1)) </rating> <textInput> <title> Søk på denne siden: </ title > <description> Finn: </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. I HTML, & lt b & gt; starter en fet setning og du starter en kobling med <a href= </description> </item> < /channel> </rss>

Userlands RSS 0.91 er inkompatibel med Netscapes for flere ting (i denne listen vil det bli forstått "RSS 0.91", noe som indikerer de 2 forskjellige spesifikasjonene med selskapet som produserte dem):

  1. Netscape sier at <time>, innenfor <skipHours> går fra 0 til 23. Userland går i stedet fra 1 til 24.
  2. Netscape inneholder "textinput"-elementet. Userland inneholder "textInput"-elementet i stedet. Siden XML skiller mellom store og små bokstaver, er dette tydelig forskjellige elementer.
  3. Netscape bruker en DTD som lar deg bruke 96 enheter: & nbsp ;, ¡, ¢, ​​​​£, ¤, ​​¥, ¦, §, ¨, ©, ª, «, ¬, -, ®, ¯, °, ±, ², ³, ´, µ, ¶, ·, ¸, ¹, º, », ¼, ½, ¾, ¿, À, Á, Â, Ã, Ä, Å, Æ, Ç, È, É, Ê, Ë, Ì, Í, Î, Ï, Ð, Ñ, ​​Ò, Ó, Ô, Õ, Ö, ×, Ø, ​​Ù, Ú, Û, Ü, Ý, Þ, ß, à, á, â, ã, ä, ​​å, æ, ç, è, é, ê, ë, ì, í, î, ï, ð, ñ, ò, ó, ô, õ, ö, ÷, ø, ù, ú, û, ü, ý, þ og ÿ. Userland eliminerer denne DTDen for å deaktivere disse enhetene og ikke tillate bruk av dem.

I desember 2000 kommersialiserte RSS-DEV Working Group, en W3C-gruppe, 1.0-spesifikasjonen, og hevdet kompatibilitet med RSS 0.90. Faktisk var den fullstendig inkompatibel og delte ingen elementer med RSS 0.90, ved å bruke et helt annet XML-navneområde. RSS 1.0 var med vilje inkompatibel med RSS 0.91 (både Netscapes og Userlands) på grunn av RDF-syntaksen, som var en del av den originale RSS-designen før Netscapes modifikasjoner.

RSS 1.0 ser slik ut: Eksempel 4. RSS 1.0

<rdf: RDF xmlns: rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns = "http://purl.org/rss/1.0/" > < kanal> <tittel> Eksempelpunktorganisasjon </title> <link> http://www.example.org </link> <description> eksempelorganisasjonens nettsted </description> <items> <rdf: Seq> <rdf : li ressurs = "http://www.example.org/status/" /> </ rdf: Seq> </items> </channel> <image rdf: about = "http://www.example.org /images/logo.gif " /> <image rdf: about = " http://www.example.org/images/logo.gif ”> <title> Eksempel </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> Nye statusoppdateringer </title> <link> http://www.example.org/status/ </link> <description> Nyheter om eksempelprosjektet </description> </item> < / rdf: RDF>

Senere, samme desember 2000, markedsførte Userland RSS 0.92, og erklærte den kompatibel med deres versjon 0.91.

Eksempel 5. RSS 0,92

<rss version = "0.92" > <channel> <title> Eksempelkanal </title> <link> http://example.com/ </link> <description> en eksempelfeed </description> <language> no < / språk> <rating> (PICS-1.1 "http://www.classify.org/safesurf/" lr (SS ~~ 000 1)) </rating> <textInput> <title> Søk på denne siden: </ title > <description> Finn: </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. I HTML, & lt b & gt; starter en fet setning og du starter en kobling med <a href= </description> </item> < /channel> </rss>

RSS 0.92 er inkompatibel med Netscapes RSS 0.91 av samme grunner som versjon 0.91 var. Men dette er også uforenlig med Userlands 0.91 selv på grunn av innholdsformatet til <description>-taggen som endres fra ren tekst til HTML. Eksemplet med RSS 0.92 (eksempel 5) ser det samme ut som eksemplet med RSS 0.91 av Userland (eksempel 3) bortsett fra versjonen, men betydningen av beskrivelsen er forskjellig, for å få samme resultat semantisk må du konvertere teksten som følger:

Eksempel 6. RSS 0.92, riktig konvertert

<rss version = "0.92" > <channel> <title> Eksempelkanal </title> <link> http://example.com/ </link> <description> en eksempelfeed </description> <language> no < / språk> <rating> (PICS-1.1 "http://www.classify.org/safesurf/" lr (SS ~~ 000 1)) </rating> <textInput> <title> Søk på denne siden: </ title > <description> Finn: </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 & amp; lt; 2, 3 & amp; lt; 4. I HTML, & amp; lt; b & amp; gt; starter en fet setning og du starter en kobling med & amp; lt; a href = </description> </item> </channel> </rss>

I april 2001 ga Userland ut et "utkast" av RSS 0.93, som erklærte kompatibilitet med både versjon 0.92 og deres versjon 0.91. Selv om den aldri har blitt utgitt for offentlig bruk, brukes RSS-versjon 0.93 for tiden av selskaper av Disneys kaliber. RSS 0.93 opprettholder samme struktur som RSS 0.92, og er derfor inkompatibel med versjoner før 0.92. Til slutt la han til det valgfrie <expirationDate>-elementet.

RSS 0.93 ser slik ut:

Eksempel 7. RSS 0,93

<rss version = "0.93" > <channel> <title> Eksempelkanal </title> <link> http://example.com/ </link> <description> en eksempelfeed </description> <language> no < / språk> <rating> (PICS-1.1 "http://www.classify.org/safesurf/" lr (SS ~~ 000 1)) </rating> <textInput> <title> Søk på denne siden: </ title > <description> Finn: </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 & amp; lt; 2, 3 & amp; lt; 4. I HTML, & amp; lt; b & amp; gt; starter en fet setning og du starter en kobling med & amp; lt; a href = </description> <expirationDate> Sat, 29 Nov 2003 10:17:13 GMT </expirationDate> </item> </channel> </rss>

I august 2002 ga Userland ut et utkast til RSS 0.94 (og hva skjedde med 0.93?), Riktignok kompatibel med RSS 0.93, RSS 0.92, deres versjon 0.91. Selv om den aldri ble utgitt for offentlig bruk, brukes RSS versjon 0.94 av flere nettsteder og aggregatorer.

RSS 0.94 er inkompatibel med alle tidligere RSS-versjoner av disse grunnene:

  1. med RSS 0.93 for eliminering av <expirationDate>-elementet, et element introdusert i versjon 0.93.
  2. RSS 0.94 introduserer en betydelig endring i formatet: "type"-attributtet er lagt til i <description>-elementet, for å indikere MIME-typen til beskrivelsen. Standardtypen er "tekst / html", som betyr at hvis ikke spesifisert, oppfører RSS 0.94 seg som RSS 0.92, og er derfor inkompatibel med tidligere versjoner. Hvis det i stedet er spesifisert, vil de 0.93-kompatible klientene som ikke gjenkjenner det nye attributtet feiltolke innholdet i beskrivelsen, vurderer det som HTML.

På grunn av historiske omstendigheter finnes det ingen offisielle kopier av RSS 0.94-spesifikasjonen. Ovennevnte spesifikasjon refererer til versjon 2.0, som vi vil diskutere nedenfor.

RSS 0.94 ser slik ut: Eksempel 8. RSS 0.94

<rss version = "0.94" > <channel> <title> Eksempelkanal </title> <link> http://example.com/ </link> <description> en eksempelfeed </description> <language> no < / språk> <rating> (PICS-1.1 "http://www.classify.org/safesurf/" lr (SS ~~ 000 1)) </rating> <textInput> <title> Søk på denne siden: </ title > <description> Finn: </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 & lt; 2, 3 & lt; 4. I HTML, & lt; b & gt; starter en fet setning og du starter en kobling med & lt; a href = </description> </item> </channel> </rss>

I september 2002 kommersialiserte Userland RSS 2.0 (starter med utkastet 0.94), og hevdet bakoverkompatibilitet med RSS 0.94, RSS 0.93, RSS 0.92 og deres versjon av RSS 0.91. RSS 2.0 er faktisk inkompatibel med alle tidligere versjoner for dette:

  1. RSS 2.0 fjerner <rating>-elementet, tillatt i RSS 0.91 av Netscape og Userland, RSS 0.92, RSS 0.93 og RSS 0.94.
  2. RSS 2.0 eliminerer "type"-attributtet introdusert i RSS 0.94, da det ble ansett som en forvirrende feil. RSS 2.0-spesifikasjonen sier at <description> "kan eller ikke kan inneholde" HTML, men det er ingen måte for brukeren å skille HTML fra ren tekst med en applikasjon (spesielt i tekster som nevner html). Faktisk skaper fjerning av denne attributten uendelig mye mer forvirring for et program enn versjon 0.94 gjorde.

RSS 2.0 ser slik ut: Eksempel 9. RSS 2.0

<rss version = "2.0" > <channel> <title> Eksempelkanal </title> <link> http://example.com/ </link> <description> en eksempelfeed </description> <language> no < / language> <textInput> <title> Søk på denne siden: </title> <description> Finn: </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. I HTML, & lt; b & gt; starter en fet setning og du starter en kobling med & lt; a href = </description> </item> </channel> </rss>

I november 2002 ga Userland ut RSS 2.01, som ifølge dem er kompatibel med RSS 2.0, RSS 0.94, RSS 0.93, RSS 0.92 og deres versjon av RSS 0.91. RSS 2.01 endret semantikken til <skipHours>-elementet. I RSS 0.94, RSS 0.93, RSS 0.92 og RSS 0.91 av Userland varierte timene fra 1 til 24. I RSS 2.01, som i Netscape-versjonene, varierte timene fra 0 til 23. RSS 2.01 deler den interne modellen til RSS 2. , som betyr at den er inkompatibel med RSS 0.94 og alle versjoner av RSS før 0.92.

RSS 2.01 ser slik ut: Eksempel 10. RSS 2.0, post-11/11/2002 (RSS 2.01)

<rss version = "2.0" > <channel> <title> Eksempelkanal </title> <link> http://example.com/ </link> <description> en eksempelfeed </description> <language> no < / language> <textInput> <title> Søk på denne siden: </title> <description> Finn: </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 & lt; 2, 3 & lt; 4. I HTML, & lt; b & gt; starter en fet setning og du starter en kobling med & lt; a href = </description> </item> </channel> </rss>

RSS 2.01-spesifikasjonen ble publisert i stedet for 2.0; det er ingen offisielle kopier av 2.0-spesifikasjonen. Som du kan se fra eksempel 10, bruker RSS 2.01 samme "2.0" som versjonsnummeret, som RSS 2.0, noe som gjør det umulig for et program å skille. Alle RSS 2.0-strømmer skal betraktes som RSS 2.01-feeder, til tross for inkompatibiliteten mellom RSS 2.01 og RSS 2.0. Dette betyr at ved å legge ut en gyldig RSS 2.0- feed 10. november som inneholder <hour> 24 </hour>, kan du våkne den 11. og oppdage at strømmen din har blitt ugyldig mens du sov.

I januar 2003 endret Userland den tidligere publiserte spesifikasjonen RSS 2.01 for å legge til <rating>-elementet på nytt. Formatet forble uendret, noe som betyr at RSS 2.01 fortsatt er inkompatibel med RSS 0.94 og alle RSS-versjoner før 0.92.

RSS 2.01 ser slik ut: Eksempel 11. RSS 2.0, post-1/21/2003 (RSS 2.01 rev 2)

<rss version = "2.0" > <channel> <title> Eksempelkanal </title> <link> http://example.com/ </link> <description> en eksempelfeed </description> <language> no < / språk> <rating> (PICS-1.1 "http://www.classify.org/safesurf/" lr (SS ~~ 000 1)) </rating> <textInput> <title> Søk på denne siden: </ title > <description> Finn: </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 & lt; 2, 3 & lt; 4. I HTML, & lt; b & gt; starter en fet setning og du starter en kobling med & lt; a href = </description> </item> </channel> </rss>

Nok en gang ble den nye 2.01-spesifikasjonen utgitt i stedet for den gamle, uten noen offisiell kopi av den forrige versjonen. Verken revisjonsversjonen ("2.01 ″) eller formatversjonen ("2.0 ″) ble endret, noe som gjorde det umulig igjen å skille mellom de to formatene. Dette betyr at hvis en strøm inneholder <rating>-elementet og erklærer seg selv som RSS 2.0, er det umulig å vite om den er gyldig uten å vite når den ble opprettet.

Det er totalt 9 versjoner av RSS, som alle av en eller annen grunn er inkompatible med noen av de andre. RSS 0.90 er inkompatibel med Netscapes RSS 0.91, Netscapes RSS 0.91 er inkompatibel med Userlands RSS 0.91, Netscapes RSS 0.91 er inkompatibel med RSS 1.0, W3Cs, Userlands RSS 0.91 er inkompatibel med 9, 0.3 er kompatibel med 9.02, 0.3 er kompatibel med den. 0.94, 0.94 med 2.0 og 2.0 er inkompatibel med seg selv.

Merknader

  1. ^ RDF Site Summary (RSS) 1.0 Arkivert 22. oktober 2008Internet Archive .
  2. ^ RSS 2.0-spesifikasjon Arkivert 7. august 2012 på Internet Archive .

Bibliografi

  • Ben Hammersley , Content Syndication with RSS , Sebastopol, O'Reilly 2003. ISBN 978-0-596-00383-8
  • Ben Hammersley , Developing Feeds with RSS and Atom , Sebastopol, O'Reilly 2005. ISBN 978-0-596-00881-9

Relaterte elementer

Andre prosjekter

Eksterne lenker

Spesifikasjoner

Artikler