Trackback,乍一听起来可能有点耳生,其实这也是非常“知名”的一个功能。最早是什么时候知道的,现在已是无从可考了。只是前些天在查资料时,又看到了这个。另外,在那篇征询新功能的回复评论中,也有朋友想增加这项功能,故而拿出来写写,希望咱们博客能增加上这项功能。
 

什么是Trackback呢?网上是这样解释的——“TrackBack是一种网络日志应用工具,它可以让网志作者知道有那些人看到自己的文章后撰写了与之有关的短文。在Movable Type和WordPress软件中,包含有该功能。这种功能通过在网志之间互相「ping」的机制,实现了网站之间的互相通告;因此,它也可以提供提醒功能。”

又在网上查了查相关资料,知道了Trackback Ping是由Moveable Type发明的规范。他们在Trackback的技术规范文档中对Trackback得描述是“a framework for peer-to-peer communication and notifications between web sites.”。这里是他们的Trackback技术规范文档:
 

其实从字面上看,Trackback就是Track back,翻译过来是“引用通告”。也就是说,如果你写的文章是根据其他人Blog中的文章而做出的延伸或评论,你可以通知对方你针对他的文章写了东西,这就需要用到引用通告。可能这样说要更清楚一些!

众所周知,现在是WEB2.0的时代,玩BLOG自然就不用说了。没博客是件很丢人的事,只有一个博客也可以算做是比较丢人。常在网上飘,总会遇上一些自己感兴趣的文章。有时就想对该文章内容表明一下自己的看法,同时也想看到该篇文章作者对自己的看法是怎样回复的,还有就是继续关注该文章,看看别得人对此是什么样的看法。

此时,可以直接在该文章后面进行“评论”。这样虽然是方便快捷,但由于直接“评论”时会大多只能回复“文本”,而且还有诸多,比如;“字数”、“字体”、“版式”等等,不能尽情发挥,用起来有些不爽。另外,直接回“评论”是在别人地盘上活动,自己不便于管理。也有些心有不甘,万一评论再让人给删了,那就更心疼了。于是,人们更希望在自己的博客里写一篇相关的评论,然后再把URL告诉对方。 可是不管怎样,想要继续关注该文章,都只好时不时地回去看看。而一个人的精力又是有限的,当时间长了以后,就可能有所遗漏疏忘,这是难免的事。

当然,上面说得是“站外文章”。 如果是站内文章,相对要好一些。因为咱们博客在用户的后台中有一个“我发表的评论管理”的功能,而且咱们博客在不久前刚则推出了 ,一旦博主回复了自己的评论,就会通过站内短信息来通知自己,这就更方便用户了。 正好借这机会来推广一下咱们博客的的功能,感觉可能有点跑题,咱们赶紧回来。

那么有没有什么功能可以使上面的“手动”通知变为“自动”通知呢?当然有了,这就是Trackback功能。 当有了Trackback功能后,这一切均将化繁就简。只需要在发文时输入所引用文章的“Trackback地址”,系统就会按照这个URL发送一个Ping给原文章,这个ping也就是一条从一个web服务器发送到另一个服务器的短消息(a small message)。当成功后,就会在在原文章后面也就会看到一个引用通告。同样,在有Trackback功能的Blog系统中,除了有一个文章的访问地址外,还有一个Trackback Ping URL(引用通告地址),这是用来接受来自别人得Trackback Ping的程序。当有人引用自己某篇文章时,也会在自己的那篇文章后面看到相应的“引用通告”!
 
 
 
 
 
 

通过Trackback,可以将您的博客和其他的相关网站有机地联系起来,也就是你希望跟别人发同一个主题,而且也希望对方看到在你的BLOG上的一些留言。这样不仅便于追查话题走向,还可以更有效地推广您的博客。同时,多个blog网站就通过相关话题而联接起来,各种评论在Internet上相互连接而织成一张大网。因此,可以说,Trackback创造出了与Blog、BBS完全不同的文化,Blog的世界通过Trackback而变成真正的无限互连。因此有人将此功能称为“思想的桥梁”。 简单说来,Trackback更多得是网站与网站之间互相通告的一种方法,说白了, 这主要实现得就是一个跨站点的留言系统。
 
至于怎么实现,这个“技术”肯定比我熟。不过呢,为了这篇文章的质量,咱也提多少来两句,这样显得更充实一些。需要说明,由于自己对这方面不甚了解,下面这些内容均为从网上摘抄而来,您要看得哪不对,赶紧告诉我,在这儿先谢了!
 
(引用开始)
Trackback Ping是通过标准的HTTP协议从我的Blog发送到引用文章的Blog,我的Blog发送一个POST格式的HTTP请求到引用文章的 Trackback Ping URL。这个请求的content type是application/x-www-form-URLencoded,它大概是这个样子的:
POST:引用文章的TrackbackPingURL
Content-Type::application/x-www-form-URLencoded
title=我的文章&url=http://我的文章地址&excerpt=我的文章摘要&blog_name=我的Blog
早期版本的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>
(引用结束)
 
有关Trackback的好处,咱们前面已经说了不少了。不可忽视得是,Trackback也有着弊端。鉴于Trackback实现起来需要消耗一定的资源,故而一些Blog系统已经将其屏蔽了。另外,“Trackback Spam”非常讨厌,这也是很多Blog系统将其无情的主要原因。其实个人一直认为,好功能应该要用。不能怕遇到问题就将好功能弃之不用,遇到问题应该想办法解决,不断完善功能才是正道。就像咱们平常使得WINDOWS似得,微软不也隔三岔五发补丁吗?您能说因为WINDWOS有问题就不用了吗,咱不该用还得用吗!当然了,WINDWOS的补丁实在是多了点,不过这是另外一码事,咱们一码说一码!