RSS:Na początek:Syndykacja
z Mozilla Developer Center, polskiego centrum programistów Mozilli.
Strona ta wyjaśnia syndykacje strony z RSS. Dowiesz się jak zrobić, aby użytkownicy i maszyny mogły znaleźć Twój kanał RSS.
[edytuj] Czym jest syndykacja
Syndykacją (lub Syndykacją strony) jest moment utworzenia zawartości/treści dostępnej dla wszystkich, którzy chcą czytać, słuchać lub pooglądać nagłówki nowości.
RSS pomaga w syndykacji. RSS zorganizuje Twoją syndykacją do takiej formy, która zostanie w bardzo prosty sposób zrozumiana przez maszynę.
Syndykacja z RSS znaczy 3 rzeczy.
- Utworzenie kanału RSS.
- Dodaj specjalny element
<link>do kodu strony HTML. - Dodaj specjalny element
<a>do kodu strony HTML.
Do tej pory omówiliśmy punkt 1 -- Utworzenie kanału RSS -- więc skupimy się teraz na 2 i 3 punkcie.
[edytuj] Dodajemy <link>
Często dane kanału RSS są również udostępniane na stronie HTML. W tym przypadku strona ta pozwala zarówno ludziom jak i maszynom na pobranie kanału za pomocą następującego kodu.
<link rel="alternate" type="application/rss+xml" href="http://example.com/feed" />
Często ludzie chcą ogłaszać poprzez kanał RSS swoich twór (na przykład notki bloga). Można to zrobić w sposób następujący.
<link rel="home" type="application/rss+xml" href="http://example.com/feed" />
Zauważ, że kod ten wygląda prawie tak samo jak poprzedni. Jedyna różnicą jest wartość atrybutu rel (poprzedni link posiada wartość atrybutu rel równą alternate. Powyższy atrybut rel posiada wartość home).
Uwaga: Zdarzały się nadużycia elementu <link> dla syndykacji RSS. Niektórzy blogerzy chcieli by inni mogli subskrybować ich blogi z jakiejkolwiek podstrony (a nie tylko z ich strony domowej). Powodowało to dodawanie wszędzie wielu elementów <link>, gdzie atrybut rel="alternate". (Również we wpisach bloga, a nie tylko na stronie domowej.) Jest to niepoprawne! Używanie w tym przypadku przypisania rel="alternate" jest błędne. Powinno być przypisanie rel="home". (Zobacz również artykuł Understanding rel and rev). Ważną częścią używania elementu <link> do syndykacji kanału RSS jest wykorzystanie przypisania type="application/rss+xml".
[edytuj] Dodajemy <a>
Kiedy używamy kodu HTML element <link> jest przeważnie ukryty. W celu przedstawienia kanału RSS w sposób bardziej bezpośredni można używać elementu <a> wykorzystując podobieństwo z elementem <link> opisanym powyżej.
Dla stworzenia odnośnika do strony HTML, na której dostępny jest również kanał RSS użyj:
<a rel="alternate" type="application/rss+xml" href="http://example.com/feed">...</a>
Dla stworzenia odnośnika do wpisu na blogu użyj:
<a rel="home" type="application/rss+xml" href="http://example.com/feed">...</a>
Zauważ, że powyższy kod jest prawie identyczny. Różni się tylko wartością atrybutu rel. (W poprzednim kodzie wartość atrybutu rel równa jest alternate. Natomiast w tym wartosc ta wynosi home.)
[edytuj] Ikona kanału
Kanały RSS (i inne) używają specjalnej ikonki. Zalecane jest, abyś podczas tworzenia specjalnego linku <a> użył tej ikony do własnego kanału. Ikona wygląda następująco:
Ze strony, można pobrać o wiele więcej ikonek kanału RSS (są dostępne w innych rozmiarach i kolorach. Dostępne są także źródła plików).
[edytuj] Zaawansowane techniki syndykacji
Pomimo, że zaawansowane techniki syndykacji nie są konieczne, ich wsparcie jest zalecane; zwłaszcza dla stron i aplikacji wymagających dużych wydajności. Protokół HTTP -- jeden z podstawowych technologii sieciowych -- dostarczający metodę prioretyzacji treści, jaka klient HTTP preferuje otrzymywać. Ta technika wykorzystuje preferowanie syndykacji RSS przez klienta (niż HTML lub inne formaty). Poniżej przedstawiamy przykład.
Accept: application/rss+xml, text/html
Jednakże w oprogramowaniu może to wyglądać następująco:
Accept: application/rss+xml, application/xhtml+xml, text/html
Tutaj znajduje się więcej w pełni gotowych przykładów:
GET / HTTP/1.1 Host: example.com Accept: application/rss+xml, application/xhtml+xml, text/html
Po otrzymaniu tego przez serwer HTTP powinno nastąpić przekierowanie klienta HTTP do kanału RSS za pomocą HTTP 302 Found. Podobnie do:
HTTP/1.1 302 Found Location: http://example.com/feed