首页 | 新闻 | 交流 | 问吧 | 文档 | 手册 | 下载 | 博客

收藏此问题 发表新评论

PingBack 规范介绍,在wordpress中广泛使用

       Pingback是在博客圈的背景下诞生的一个新鲜玩意,说白了,其目的等同于csdn上的trackback。不过,它有更加完善的机制,而且用php很容易实现。


       传统的博客是这样的,我写了篇很牛X的文章,你不巧看到了,但是我的观点你不同意,而且更不巧,你还非常喜欢抬杠,为了能和我抬杠,你就得在我的博客上留言,而且你��里��唆的打了1000个字上去。问题是,我不喜欢抬杠,所以我限制留言字数为100字。


       问题来了,如果你对我的博客文章有几K个字节的感想,单单发表在我的博客评论里显得有点屈才。你可以在你的博客里重新发布一篇文章,为了让我知道你的大作,以便我们抬杠,你还得给我发封电子邮件告诉我。这个流程虽然不怎么复杂,但还是很麻烦。


       Pingback简化了这个流程,只要在你��里��唆的评论里加个超链接,指向我的文章。我就会收到有关你的评论,而且还会自动显示在我的博客评论中。


       神奇吧,神奇的背后是老瓶装新酒。要理解Pingback,最好有点web服务的知识,不知道也没关系,所谓web服务就是俩服务器之间没事倒腾数据玩,当然,俩服务器得使用同一种语言进行交流。目前,有两种倒腾语言,SOAP和xmlrpc,php5已全面支持。SOAP稳定可靠,但是很复杂,xmlrpc就简单实用的多。pingback就是基于xmlrpc实现的。


       来看看具体的操作流程:


1、首先我发布文章,我的文章地址是:http://phpor.512j.com/2007/12/10/10/。如果你乐意打开这个网页,并看下源文件,会注意到,在页面上有个link元素,内容是<link rel="pingback" href="http://phpor.512j.com/xmlrpc.php" />。这玩意标示了一个pingback服务器的地址:http://phpor.512j.com/xmlrpc.php


2、然后你看了文章,开始在你的博客写你的��里��唆的评论,评论一开始可能会这样:carche在<a href="http://phpor.512j.com/2007/12/10/10/">CURL..........</a>中提到,我对此不敢苟同................


3、之后提交你的文章,如果你的blog系统是wordpress架构,当你提交文章之后,wordpress会扫描你文章中提到的链接,这时它发现了http://phpor.512j.com/2007/12/10/10/这个链接。wordpress会抓取这篇文章,然后用一个像这样的正则表达式  "/<link\s+rel=\"?pingback\"?\s+href=\"?(^>*)\"?\s+>/" 来寻找pingback服务器地址,找到这个地址后,开始倒腾数据。


4、你的blog系统会给找到的pingback服务器发送以下信息:你好,在某某博客文章中曾经引用了http://phpor.512j.com/2007/12/10/10/这个超链接。


5、我的pingback服务器收到信息之后,先检查一下是不是确实有这回事,如果是就返回随便什么字符;如果不是,就返回一段错误码。之后,我的blog系统会根据你请求的信息,到你的评论里面抓取内容,并显示在我的blog评论中。


大致流程是这样的,如果要看详细的规范,参考:http://www.hixie.ch/specs/pingback/pingback


不才翻译成汉语的:http://phpor.512j.com/2007/12/10/%e5%8e%9f%e5%88%9bpingback-%e8%a7%84%e8%8c%83/



[ 本帖最后由 carche 于 2007-12-17 14:47 编辑 ]
昵称: carche  时间: 2007-12-17 14:44:00