Trackback我们都知道是自己在自己的Blog上撰文回应别人的文章,那么别人的文章的回复中会有trackback from的字样.但是我很早又注意到有trackback和pingback之分,在很多Blog的回复都看到除了comments(回复)外,还有trackback和pingback,但一直不清楚这两者有什么区别,如何才是Pingback呢?
如果你后台打开了”对文章中提到的其它网站的网页链接发送通告(会降低保存文章的速度)”这个选项的话,那么你的文章中如果有相应的URI,那么wordpress就会向这个文章发送ping,这个过程就应该是pingback,而且很有意思的是,对方回复中不会像trackback那样显示excerpt或者是正文的头部文字,而是显示出提到你的URI的那一段文字—让人疑惑好久,区别于trackback的另一种ping.
一、功能:
从普通blogger的眼观看,Pingback和Trackback的作用是一样的:
1、博客A发布了一篇文章;
2、博客B看到后,发布评论、引用、介绍博客A上该篇文章的贴子;
3、在文章发布时,博客B即自动向博客A发送Pingback或TrackBack;
4、博客A收到相应的Pingback或TrackBack,如果未设置人工审核,相应的内容即会出现在博客A该文的留言中,如果设置了人工审核,则出现在博客A的审核列表中,俟博客A认为不是spam后将其发布在留言中。
即,Pingback或TrackBack通过自动连接相互引用的blog,使blog内容相关性进一步提高,进而形成以内容为导向的聚合性网络。
二、区别:
pingback在WP中是自动的,而trackback则需要你在自己的blog“撰写文章”、或者在别人的blog写“评论”的时候手动输入。
更专业的说法就是:
pingback是blog系统的自动ping通信机制,用于实现上述内容聚合功能。正如yskin所说,pingback成功后,在对方日志里显示的摘要来自于你文章中放置引用原文的链接附近。
而trackback则是人为发送内容聚合的方法。在对方日志里显示的摘要则是你的这篇文章的摘要部分。
(关于在摘要是否出现以及出现的方式等,也如yskin所说:要依赖于blog系统以及blogger的自主设置)。
三、ping:
ping事实上与操作系统的ping命令在动作上一致:按照一定的协议相互通信。只不过内容区别很大而已。上述pingback和trackback都需要ping机制和ping动作实现,但是blog系统的ping不仅仅用于上述功能。例如通知feedburner更新feed都是要ping的。
四、谨防垃圾评论:
这个不多说了,使用pingback和trackback无疑会增大bolg的被电击率,扩大影响。但随之而来的就是垃圾评论,解决方法:
开启评论审核机制;
开启垃圾评论过滤机制。
前几天看了一下WordPress的源代码,确实是WordPress同时支持Pingback和Trackback。WordPress不仅可以接受发来的Pingback和Trackback,而且可以同时发出这两种。文章里自动查找链接然后发出的是Pingback,而手工填写Trackback地址发出的是Trackback。
另外,关于ping,WordPress里的ping的全称是XML-RPC ping,它使用XML-RPC,向服务器发送一个ping命令发送的xml里方法名是:weblogUpdates.ping。
XML-PRC ping和网络上的ping功能(比如Windows下的ping命令)也有一点相似。ping命令发送ICMP包给目标服务器,目标服务器收到后返回一个ICMP包做响应。ping命令找出里面的TTL等信息,然后计算发送到收到相应的时间,显示给用户。XML-PRC ping则是发送一个请求,请求执行一个叫做”ping”的方法,而服务器收到后执行ping方法,一般是读取feed,或者有一些转发服务,将ping信息转发给其他多个ping服务器。然后,服务器通常会返回一个信息,有说OK,也有不返回的。
在金山词霸网站查到,ping一词的解释是查验。网络的ping或许就是查验,检查的意思,ping一下某个IP,就是发送一个信息,然后等待该IP返回一个回应,以确定该IP的服务器是否在网络中,是否正常工作,也确定本机到该IP的网络通路是畅通的。而XML-PRC ping,则是通知,通知服务器赶快来更新自己的feed。