虽然月光博客的这篇关于trackback 引用通告的文章写了很久了,但今天是头回看到。有次在网上查了半天,也没看见一个准确描述引用通告是啥的文章。基本都是抄来抄去,并且抄的人自己也没真正整明白trackback的用意。
很多就是简单理解为发送文章链接了。但发送的是谁的链接?自己文章的,还是别人的文章?
现在就着月光博客的这文章,再详述一下引用通告的具体用法。因为尽管说的已经比较清楚了,但很多没有用过的人,可能还是不清楚。
首先,trackback是blog系统的一个协议。也就是说,通常的blog系统,你使用的blog系统,如果是个比较完善的系统,应该会支持这个协议,也就是支持trackback (引用通告)。比如我这个blog系统,用的是zblog。它肯定是支持trackback的。其他oblog、pjblog、还是wordpress、还有MT,肯定都是支持的。
然后,你在blog系统发新文章的界面,可以看到有个输入框,是叫做“传送引用”(zblog系统),也就是说,你看了一篇别人的博客文章,然后就别人的文章展开评论,把这个文章发在自己的博客系统上,发的时候,把别人博客文章的链接,输入到“传送引用”输入框里。别的blog系统也可能叫做“传送引用通告”、“trackback”等等,都是这个意思。
这样你的文章发表的同时,你这篇文章的链接会被传送到被你评论的那个博客文章的下面。
比如我这篇文章,我在发表的时候,也传了一个引用通告给月光博客的那篇文章。
在有Trackback功能的Blog系统中,每篇Blog文章都有两个URL,一个是要访问这篇文章所使用的URL,另一个就是Trackback Ping URL(引用通告地址),它是用来接受来自其他Blog网站Trackback Ping的程序。当我发表文章的时候,
月光的那篇文章,也会显示我这个文章的链接。
大概是这个样子,
标题:*** 的文章
来自: ***的Blog
摘要: ***文章内容摘要…
地址: ***的文章地址
这个Trackback Ping是通过标准的HTTP协议发送的,这个请求的content type是application/x-www-form-URLencoded,
POST 【TrackbackPingURL】
Content-Type: application/x-www-form-URLencoded
title=*** &url=*** &excerpt=***&blog_name=***
早期版本的Trackback规范中,Ping是GET方式的HTTP请求,现在不再支持GET方式,只能用POST方式。参数包括:
title - 文章的标题
excerpt - 文章的摘要。在Movable Type系统中,如果摘录信息超过255个字符将会被截断为252个字符,并在后面增加…三个字符
url - 文章的永久连接。象其它永久连接一样,这个连接应可能准确地在页面中定位文章的入口,因有疑问时这个链接会用到
blog_name - 发表文章的blog的名称
在上述的参数中只有url是必须的。如果title没有提供,url的值将被用作标题。
当Blog发出这个Trackback Ping后,将接收一个简单的XML格式应答,如果Ping成功,那么应答的格式如下:
<?xml version=”1.0″ encoding=”iso-8859-1″?>
<response>
<error>0</error>
</response>
而失败应答的格式为:
<?xml version=”1.0″ encoding=”iso-8859-1″?>
<response>
<error>1</error>
<message>The error message</message>
</response>
顺便提一下,zblog因为是文章静态页面重新生成,因此在重新生成之前,似乎不会显示ping过来的trackback。这个问题还需要再确认。