EditURL和RSD(Really-Simple-Discovery)是什么东西? Unknown 2009/05/03

| |

首先,Windows Live Writer根据“日志主页URL”读取博客引擎的主页内容。主页内容中有这样一行HTML代码:

<link rel="EditURI" type="application/rsd+xml" title="RSD" href="http://spyrise.org/blog/inc/rsd.php" />

这行HTML代码指出了博客编辑接口的描述文件地址,这是个XML配置文档。

接着,Windows Live Writer读取描述文件的内容。博客引擎返回的内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<rsd version="1.0" xmlns="http://archipelago.phrasewise.com/rsd" >
<service>
<engineName>Bo-Blog</engineName>
<engineLink>http://www.bo-blog.com</engineLink>
<homePageLink>http://spyrise.org/blog/</homePageLink>
<apis>
<api name="MetaWeblog" preferred="true" apiLink="http://spyrise.org/blog/xmlrpc.php" blogID="" />
</apis>

</service>
</rsd>

上面的XML代码实际上实现了一个标准的Really Simple Discovery (简称RSD)。RSD的目的就是帮助外部程序发现博客引擎的各种API接口,使用RSD后,用户只需要知道博客的主页地址、用户名和密码,就可以使用外部程序与博客引擎进行交互。

RSD由以下两部分组成:

1、RSD文件的位置描述
这是通过在博客主页添加以下内容实现的
<link type="application/rsd+xml" rel="edituri" title="RSD" href="YourRSDFileUrl" />
2、RSD文件
RSD文件是以XML格式实现的,其所包含的元素如下:
<service> 容器元素,子元素为:
<engineName> 博客引擎名称
<engineLink> 博客引擎网站地址
<homePageLink> 博客主页
<apis> 容器元素
<apis>的子元素
<api> 可以有多个api元素。api元素有以下四个必需的属性:
"name" api的名称。
"preferred" 布尔值,指示此API是否是博客引擎推荐的首选API。只应有唯一个api元素的preferred属性设置为"true",其它的应设置为"false"。
"apiLink" API地址。
"blogID" 博客ID。如果没有博客ID的话,可以设置为blogID=""。
<api>的可选子元素,用于对API进行详细描述,不是必须的。容器元素为<settings>
<docs> API文档地址。
<notes> 供用户阅读的注释。
<setting> 以"name-value"形式描述的API设置。可以有多个setting元素。

Really Simple Discovery 1.0由Daniel Berlinger于2002年发布,官方文档地址: http://cyber.law.harvard.edu/blogs/gems/tech/rsd.html

个人认为,Really Simple Discovery更重要的意义是提供了一种自动发现网站服务功能的方法。例如你可以基于与RSD相同的思路,为自己开发的某个Web Service提供自动发现机制,从而让Web Service客户端可以自动找到Web Service地址,这对于开发一个比较通用的Web Service(例如用于用户验证的Web Service?),可能会很有用处的。

结论:这个RSD配置代码,当你使用本地博客编辑器,如Windows Live Writer,是必要的。不过,我暂时不打算用这个,所以这句HTML代码完全可以注释掉。

参考文档: http://www.tiray.net/post/Really-Simple-Discovery.aspx

内文分页: [1] [2] [3]
请给这篇日志评个分吧~!

本文评分: 4.8/10 (78 votes)    提示:您还未对本文评分,您可以进行评分并发表您的意见!

加入收藏!

发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [注册]