關於Blog和RSS 的全面介紹

2021-04-06 20:28:39 字數 3164 閱讀 7410

關於 blog 和 rss 的全面介紹

關於 blog 和 rss 的全面介紹

原著:aaron skonnard

翻譯:northtibet

原文出處:msdn magazine apr. 2004(the xml files)

什麼是 blog?

"blog"是 web log 的簡稱(譯者注:也就是網誌(中國大陸也叫部落格))。它是一種作者與讀者以日誌風格進行互動的中介。在軟體社群,人們以網誌形式來共享觀念與思想變得越來越流行。如:http://blogs.msdn.com/ 就是 msdn 上的乙個 blogging。

哪個 rss 版本是最通用的?

這個問題的答案要看你問的是誰,rss 的版本有好多個,0.90、0.91、0.92、0.93、0.94、1.0 和 2.0。要弄清楚這些版本之間的差別是巨大的挑戰之一。理解它們需要了解一些有關它們的歷史背景。netscape 建立了 rss 的最初版本 0.90,起初的名字是「rdf site summary」或者「rich site summary」(規範中說前者是正式名稱)。netscape 建立 rss 0.90 用於其 web 門戶,這個時候,其他人看到了 rss 的使用潛力。userland software 是第乙個開始將 rss 用於其網誌商業產品者之一。

版本 0.90 在很大程度上基於 w3c 的 resource description framework (rdf)。許多人都認為 rdf 過於複雜,因此都建議出乙個免費的簡化版本 0.91。這個任務恰好就給了 userland software。userland software 便繼續發展 rss 的簡化版本,隨後出台的版本包括:0.92、0.93 和 0.94。為了強調其所做的簡化工作,他們將 rss 的全稱定為「really ****** syndication」。

正當 userland software 繼續專注於其簡化工作時,另外一組開發人員在復興最初的 rdf 版本(0.90),因為 rss 號稱自己更靈活。他們最終發布了乙個 rss 1.0 的版本,其正式名稱還是「rdf site summary」。由於使用 rdf,這個版本完全不同於 userland software 所控制的版本。userland software 當然不太願意看到 rss 1.0 似乎要取代其 0.94 版本的事實,於是出了乙個新版本,並將版本號一下子跳到了 2.0。

這就是今天的這種局面,形成了兩個主要的競爭版本:乙個基於 rdf 1.0,而另乙個則不是(2.0),但它們兩個都共用相同的名字。這是一種可怕的混亂,因為版本號導致人們誤認為 2.0 是 1.0 的改進版本,而實際上它們是兩個目標完全不同的規範。另一組開發人員已經下狠心著手解決這種混亂問題,通過定義新的摘要(syndication)規範來與 rss 名字的隨意性決裂。這個解決方案稱為 atom(原子)專案。本文稍後將會詳細討論。

使用哪個版本其實是無關痛癢的,大多數 rss 聚合機制支援所有的 rss 版本(有些甚至支援 atom)。最終的決定取決於你是否想使用 rdf,可謂蘿蔔白菜,各有所愛,它完全要看某人所信奉的 semantic web 概念而定。

rss 1.0 和 rss 2.0 各是什麼樣子?

rss 1.0 和 2.0 格式所包含的核心資訊相同,但其結構不一樣。我提供了乙個 rss 1.0 文件(參見 figure 1)以及乙個同等的 rss 2.0(參見 figure 2)用於對照。

你會注意到頂行右邊開始的根元素的差異,rss 1.0 的根元素是 rdf:rdf,而 rss 2.0 的根元素是 rss。rss 還包含乙個強制版本屬性用以表示所用的rss的準確格式(可能的值包括:0.91, 0.94 等)。另乙個主要差別是 rss 1.0 文件有名字空間限定,rss 2.0 的文件就沒有。不管怎樣,包含在兩個文件中的資訊本質上是一樣的。

兩個版本都包含 channel 元素,而 channel 元素又包含三個必須的元素:title、description 和 link,其**如下:

在 rss 1.0 中,title 和 link 是必須的,description 是可選的。而在 rss 2.0 中,title 或 description 必須提供其中的乙個;其它均可選。這些只是定義在 rss 1.0 中的 item 元素。rss 2.0 提供幾個其它可選元素,其中有 author、category、comments、enclosure、guid、pubdate 和 source。rss 1.0 獲取這樣的元資料是通過定義在單獨的 xml 名字空間中稱為 rss 模組的可擴充套件元素來實現的。例如,在 figure 1 中,item 的日期是用 dublic core 模組的 元素表示的。

有關不同格式的完整資訊請參考 rss 1.0 和 2.0 規範。

什麼是 blogroll?

blogroll 是網誌提要的集合,大多數 blogger(部落格)在其個人網誌上都提供 blogroll。這就允許讀者連線到其他趣味和寫作風格相投的人的網誌上。blogroll 方便了網路上的溝通。通過使用outline processor markup language (opml),人們可以用 xml 格式檔案交換 blogroll。figure 4 是 blogroll 的乙個例子。

大多數網誌引擎都自己管理 blogroll,每當讀者請求 blogroll 時都自己產生相應的 xml 格式。同樣,大多數聚合器都能匯入 blogroll 並自動預定所包含的摘要。有關 opml 更多的資訊參見

如何為我的站點產生 rss 提要?

figure 5 舉例說明了如何用 asp:repeater 控制項在 .aspx 頁面中生成 rss 2.0 提要。該頁面假設你已經在後端**檔案中將控制項的 datasource 屬性設定成對應的資料庫結果集。

我想聚合幾個 rss 提要並將資訊顯示在個人**上,能解釋一下如何實現嗎?

因為 rss 提要是 xml 檔案,作為練習,你可以用自己最擅長的 xml api,比如,microsoft .net framework 中的 system.xml,figure 6 中包含 asp.net web 使用者控制項**,它是我編寫用來聚合 blogroll 檔案中(.opml)所列出的 rss 提要的一段**。這段**假設 opml 元素包含 numbertodisplay 屬性,以表示你打算顯示的每個提要有多少項。

figure 7 asp.net web 使用者控制項

你可以將控制項拖到任何 .aspx 頁面中,它將顯示 blogroll 檔案中列出的不同提要的項,figure 7 顯示了 utah .net user group **使用這個控制項的效果畫面。

關於 Blog 和 RSS 的全面介紹

原始出處 vckbase mtt團隊 關於 blog 和 rss 的全面介紹 原著 aaron skonnard 翻譯 northtibet 原文出處 msdn magazine apr.2004 the xml files 什麼是 blog?建立網誌最輕鬆的方法是什麼?rss 1.0 和 rss ...

關於 Blog 和 RSS 的全面介紹

原始出處 vckbase mtt團隊 關於 blog 和 rss 的全面介紹 原著 aaron skonnard 翻譯 northtibet 原文出處 msdn magazine apr.2004 the xml files 什麼是 blog?中國大陸也叫部落格 它是一種作者與讀者以日誌風格進行互動...

RSS介紹和使用

一 什麼是rss?rss是2004年最熱門的網際網路詞彙之一,不過,相對於部落格 blog 來說,rss的知名度相應會低很多,而且至今還沒有乙個非常貼切的中文詞彙,也許以後無需中文名,大家都習慣於直接叫rss了。rss之所以同blog一樣會被認為是熱門詞彙的乙個原因,個人推測,應該是許多分析人士認識...