频道直达 - 学院 - 下载 - 交易 - 特效 - 字库 - 手册 -排名-工具- 繁體
网页教学网站开发 设为首页
加入收藏
联系我们
建站搜索: 常用广告代码   用户注册 | 用户登陆
您当前的位置:中国建站之家 -> 网站开发设计技术教程 -> XML教程 -> TrackBack 技术规范

TrackBack 技术规范

作者:圈圈  来源:www.jz123.cn  发布时间:2007-1-12 5:12:47  发布人:圈圈

减小字体 增大字体

Specification,此处是译文(竹笋炒肉译)。 

名称:
mttrackback - TrackBack 技术规范

作者
Benjamin and Mena Trott, movabletype.org

版本
1.1

描述:
本文描述了TrackBack, 一个点对点通信和网站间互相通告的框架. TrackBack的中心思想是TrackBack ping的概念, 从本质上讲,TrackBack ping是一个请求,通告“资源A与资源B相关,或有链接到资源B.” 一个TrackBack “资源” 用一个TrackBack Ping URL表示, 这是一个标准的URI.

利用TrackBack,站点间可以互相通告相关的资源. 例如,如果博客(weblogger)甲希望通知博客乙他写了一些有趣的/相关的/骇人听闻的文字,甲发送一个TrackBack ping给乙。这完成了两件事:

1,乙能自动列出那些引用他的某篇文章的网站,到他网站的访问者能读到网络上所有与此文相关的文章,包括甲的文章。 

2,ping在他的文章和你的文章间提供了一种稳固的、直接的链接,而不是那种依赖于外部行为(某人点击那个连接)的非直接连接(如反向连接referrer)。

发送一个TrackBack Ping

TrackBack使用REST(Representational State Transfer, http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm  )模式工作, 请求通过标准的HTTP调用传送。要发送一个TrackBack ping, 客户端向服务器端发送一个标准的HTTP请求,然后接收一个简单XML格式的应答(详见下述).

在TrackBack系统中,接收TrackBack pings的URL叫TrackBack Ping URL.一个典型的TrackBack Ping URL如 http://www.infomall.cn/cgi-bin/mallgate/20040514/http://www.foo.com/mt-tb.cgi/5  , 其中5是TrackBack ID. 服务器端可以用任何有意义的格式来定义TrackBack Ping URL;客户端不应该只限于特定的格式.

为了发送一个ping, 客户端发送一个POST格式的HTTP请求到TrackBack Ping URL. 请求的内容的content type应是application/x-www-form-urlencoded. 例如, 到 http://www.infomall.cn/cgi-bin/mallgate/20040514/http://www.foo.com/mt-tb.cgi/5  的ping请求可能看起来象:

POST http://www.foo.com/mt-tb.cgi/5
Content-Type: application/x-www-form-urlencoded
title=Foo+Bar&url=http://www.bar.com/&excerpt=My+Excerpt&blog_name=Foo

注意: 在旧版本的TrackBack规范中,ping是用GET格式的HTTP请求发送的. 这种方式将不再支持; 2003年1月发布的Movable Type系统将会去掉对GET方式的支持。

可能的参数包括:

title:文章的标题 

excerpt:文章的摘要. 在Movable Type系统中, 如果摘录信息超过255个字符将会被截断为252个字符, 并在后面增加 ...三个字符. 

url:文章的永久连接. 象其它永久连接一样,这个连接应可能准确地在页面中定位文章的入口,因有疑问时这个链接会用到。 

blog_name:发表文章的blog的名称。 

在Movable Type系统中, 在上述的参数中只有 url 是必须的. 如果 title 没有提供,url 的值将被用作标题.

对上述请求的应答信息,以XML格式编排,从而能实现应用层的错误检查。(HTTP层的错误将会这样返回--例如,如果TrackBack URL 所指的资源在服务器上已经不存在,状态码404 将会返回).

一个成功的ping将会返如下应答:



<?xml version="1.0" encoding="iso-8859-1"?>
<response>
<error>0</error>
</response>



一个失败的ping将会返如下应答:


<?xml version="1.0" encoding="iso-8859-1"?>
<response>
<error>1</error>
<message>The error message</message>
</response>


当然,应用程序应该允许将来根据需要增加字段,但应答的 XML 结构保持不变。

取回TrackBack Pings
要取回某个特定TrackBack Ping URL收到的ping,向它发一个GET格式的HTTP请求,请求字符串(query string)是 ?__mode=rss. 在规范的将来修订中,--一旦从POST转换到GET的过渡期结束--这将非常简单,向TrackBack Ping URL发送一个GET请求,将返回一列ping.

一个GET请求样例如下::

GET http://192.168.1.103/mt/mt-tb.cgi/3?__mode=rss

对此请求的应答,要么返回如上所述的错误信息,要么返回一列用RSS规范格式标志的TrackBack pings, 整个应答内容的覆巢无根元素是 <response> .

例如:


<?xml version="1.0" encoding="iso-8859-1"?>
<response>
<error>0</error>
<rss version="0.91"><channel>
<title>TrackBack Test</title>
<link>http://this.is/the/trackback/item/link/<;/link>
<description>Description of the TrackBack item</description>
<language>en-us</language>
<item>
<title>TrackBack Demo</title>
<link>http://this.is/the/permalink/<;/link>
<description>Excerpt</description>
</item>
</channel>
</rss></response>


在标签<rss> 和 </rss> 之间的部分,都是真实的RSS数据; 剩余的部分都是应答内容的包装,处理时可以忽略.

TrackBack Ping URLs的自动发现

TrackBack客户端需要一种方法,来确实一个特定的URL或blog文章的TrackBack Ping URL. 服务器在生成页面时应内嵌RDF; RDF 描述关于该文章的元数据,允许客户端自动发现TrackBack Ping URL.

RDF样例如下:


<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xmlns:dc="http://purl.org/dc/elements/1.1/"
         xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
<rdf:Description
    rdf:about="http://www.foo.com/archive.html#foo"
    dc:identifer="http://www.foo.com/archive.html#foo"
    dc:title="Foo Bar"
    trackback:ping="http://www.foo.com/tb.cgi/5" />
</rdf:RDF>



注意: 由目前的检查器将嵌入XHTML页面的RDF信息视为不合规范,要通过检查需要将上述的RDF信息用注释符括起来:


<!--
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
...
</rdf:RDF>
-->


这不是一个完美的解决方案,但是作为一个临时的应对措施它可正常工作。

其中的dc: 元素是标准的Dublin Core 元素; trackback:ping元素来自RSS 1.0/2.0的TrackBack模块,参见http://www.infomall.cn/cgi-bin/mallgate/20040514/http://madskills.com/public/xml/rss/module/trackback/  

给定一个URL my_url, 客户按下列步聚来寻找TrackBack Ping URL:

发送GET格式的HTTP请求,取回 my_url对应的页面的内容. 

扫描页面内容,查找内嵌的RDF. 页面中可能嵌有多处RDF--客户端要找到 dc:identifier等于my_url的那块RDF信息. 

从RDF块中抽取trackback:ping值,这就是TrackBack Ping URL. 

客户端一旦确实了TrackBack Ping URL, 它就可以发送TrackBack ping了

将本文收藏到QQ书签与更多好友分享
[打 印]
[] [返回上一页] [收 藏]
上一篇文章:XML Schema教程
∷相关文章评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论...]
精彩推荐
热门文章
· 注册码大全二
· 注册码大全四
· 注册码大全一
· 要10G免费网络硬盘的请进..
· 通过google 赶快来赚美金..
· 注册码大全十
· 头像-qq头像(qq新头像)4..
· 让你轻松架设FTP服务器1..
· 注册码大全三
· 梦幻背景图片7
· 卡通动物图片6
· 网页制作素材-按钮素材2..
· 让你轻松架设FTP服务器5..
· 风景图片8
· 注册码大全九
· 让你轻松架设FTP服务器2..
关注此文读者还看过
· 用PS给你的爱车“换衣”..
· 关于执行IIS与设计ASP程..
· 面对对象的思考
· 著名的墨菲定律(搞笑版)..
· Photoshop应用 用自定义..
· ImageReady 3.0 新增功能..
· 利用c#制作简单的留言板..
· ASP网站远程客户实现EXC..
· 用排序串字段实现树状结..
· PHP 编码规范(24)
· 400MB-10GIGS BW,phpBB,..
· 汉字转拼音ASP函数
· MSN用户频频落入"熟人"陷..
· php 之 没有mysql支持时..
· INET控件的几点使用
· 蠕动线框动画的制作(2)
相关文章
· 测试Trackback II
· 测试Trackback
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 人才招聘
网站合作、内容监督、商务咨询:QQ: 9576619
Copyright ? 2005--2008 中国建站之家版权所有
粤ICP备05092265号