基于xmlrpc的PingBack 规范形象介绍 在wordpress中广泛使用

Pingback是在博客圈的背景下诞生的一个新鲜玩意,说白了,其目的等同于csdn上的trackback。不过,它有更加完善的机制,而且用php很容易实现。
传统的博客是这样的,我写了篇很牛X的文章,你不巧看到了,但是我的观点你不同意,而且更不巧,你还非常喜欢抬杠,为了能和我抬杠,你就得在我的博客上留言,而且你啰里啰唆的打了1000个字上去。问题是,我不喜欢抬杠,所以我限制留言字数为100字。
问题来了,如果你对我的博客文章有几K个字节的感想,单单发表在我的博客评论里显得有点屈才。你可以在你的博客里重新发布一篇文章,为了让我知道你的大作,以便我们抬杠,你还得给我发封电子邮件告诉我。这个流程虽然不怎么复杂,但还是很麻烦。
Pingback简化了这个流程,只要在你啰里啰唆的评论里加个超链接,指向我的文章。我就会收到有关你的评论,而且还会自动显示在我的博客评论中。
神奇吧,神奇的背后是老瓶装新酒。要理解Pingback,最好有点web服务的知识,不知道也没关系,所谓web服务就是俩服务器之间没事倒腾数据玩,当然,俩服务器得使用同一种语言进行交流。目前,有两种倒腾语言,SOAP和xmlrpc,php5已全面支持。SOAP稳定可靠,但是很复杂,xmlrpc就简单实用的多。pingback就是基于xmlrpc实现的。
来看看具体的操作流程:
1、首先我发布文章,我的文章地址是:http://www.renseng.com/learning/dede-cms-remove-page-index-html.html。如果你乐意打开这个网页,并看下源文件,会注意到,在页面上有个link元素,内容是<link rel=”pingback” href=”http://www.renseng.com/xmlrpc.php” />。这玩意标示了一个pingback服务器的地址:http://www.renseng.com/xmlrpc.php。
2、然后你看了文章,开始在你的博客写你的啰里啰唆的评论,评论一开始可能会这样:carche在<a href=”http://www.renseng.com/learning/dede-cms-remove-page-index-html.html”>CURL……….</a>中 提到,我对此不敢苟同…………….
3、之后提交你的文章,如果你的blog系统是wordpress架构,当你提交文章之后,wordpress会扫描你文章中提到的链接,这时它发现了http://www.renseng.com/learning/dede-cms-remove-page-index-html.html这个链接。wordpress会抓取这篇文章,然后用一个像这样的正则表达式  ”/<link\s+rel=\”?pingback\”?\s+href=\”?(^>*)\”?\s+>/” 来寻找pingback服务器地址,找到这个地址后,开始倒腾数据。
4、你的blog系统会给找到的pingback服务器发送以下信息:你好,在某某博客文章中曾经引用了http://www.renseng.com/learning/dede-cms-remove-page-index-html.html这个超链接。
5、我的pingback服务器收到信息之后,先检查一下是不是确实有这回事,如果是就返回随便什么字符;如果不是,就返回一段错误码。之后,我的blog系统会根据你请求的信息,到你的评论里面抓取内容,并显示在我的blog评论中。
大致流程是这样的,如果要看详细的规范,参考:http://www.hixie.ch/specs/pingback/pingback

特别奉献

As for worrying about what other people might think – forget it. They aren’t concerned about you. They’re too busy worrying about what you and other people think of them.

关于忧虑别人对你的看法,算了吧!他们根本不在乎你,他们只会忙着忧虑你和别人对他们自己的看法。