Trackback,Pingback及XML-RPC
WordPress 中的留言有三种类型,分别是普通评论、Pingback 和 Traceback。Pingback 和 Trackback 都是别人对你文章的引用,两者有一些区别,但是实际上差不多。简单的说 Trackback是引用通知,而Pingback是 自动引用通知。
1、什么是Trackback?
Trackback最早是由MovableType博客系统的创建者SixApart在2001年开发的,通过在评论中显示引用者的文章链接和评论内容,实现了博客间的沟通互动,使得更多人加入关于一个主题的讨论。在出现Pingback之后,Trackback只是作为一个兼容旧式博客系统存在的功能。对于Trackback的一个比较清晰的解释是:
甲在博客上发表一篇日志。
乙在甲的博客上评论,也想让自己的访客看看评论内容,并让访客能在自己的博客上评论。
乙在自己的博客上发表日志,同时手工向甲的博客发送一个Trackback。
甲的博客收到了显示原始文章评论的Trackback,且评论包含了乙的文章链接和一段文章摘要。
Trackback的使用是完全手工的,并且通过HTTP POST协进行数据传递。由于Trackback目前仅是为兼容旧式博客系统而存在的,因此在WordPress中只在文章编辑页中保留了一个发送Trackback的小工具。
2、什么是Pingback?
Pingback这个功能中文解释是「引用」,当你的文章有引用别人的内容时(通常内容里有加上对方的超链接),一旦文章发表后,就会自动启动Pingback功能,这功能会发送一个Ping给对方,会以评论的方式呈现。发送Ping的对象取决于文章内所有的网址(超链接)。
Pingback的出现完全是为了解决Trackback的诸多问题。不过对于用户来说,最大的好处是,Pingback的使用是完全自动的,这也是我将Pingback译作“自动引用通知”的原因。当你在文章中加入了一系列基于WordPress系统的文章链接,并且发布文章后,你的WordPress系统会自动从文章中拣出链接并尝试向这些系统发出Pingback。这些链接所在的WordPress网站接受到Pingback后就会将Pingback信息显示在评论中。
3、Trackback和Pingback的比较
从普通blogger的眼观看,Pingback和Trackback的作用是一样的,其中不同之处在于:
Pingback使用XML-RPC协议,而trackback使用HTTP POST协议
Pingback支持自动察觉,博客系统自动发现文章中的链接,并尝试使用Pingback方式通知这些链接;而Trackback必须手工输入所有链接
Pingback发送的文章摘要是链接附近的文章内容,而Trackback则完全需要手工输入摘要。
4、Pingback还有什么可以用的地方?
研究Pingback的最主要目的是探索Pingback的机制或者流程是否可以运用到其他场景,比如在创建页面的时候跟踪每套页面的引用脚本和CSS文件,然后通过Pingback机制登记使用的版本号,一旦要有版本升级就可以清晰的知道有哪些地方可以引用。
5、Pingback的实现
Pingback是基于XML-RPC协议进行的开发的,Python中有现成的库支持。以下为搭建Pingback服务端和客户端的相关思路。
客户端实现:
找出文章中所有链接,还要找出链接对应的xmlrpc(pingback) server;
调用该server的pingback.ping方法,把本文链接和对方链接作为参数传过去;
处理返回状态,记录下这次pingback的信息,这是为了避免更新文章时多次ping。
服务端实现:
从过来的xml中解析出pagelinkedfrom(来源url)和pagelinkedto(被请求url);
根据pagelinkedto找出被请求页面post_ID;
抓取pagelinkedfrom网页内容,提取标题,并找出pagelinkedfrom的位置,并提取该位置附近的文字作为摘要;
将上一步得到的标题、摘要、和pagelinkedfrom添加到被请求页面的评论中;
上面任何一步出现异常都将终止流程并返回异常,否则记录该pingback状态,返回成功。
以上内容为一些比较粗浅的想法,期望后期能把此方法变现。
参考链接:
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:标点符 来源: 标点符
- 标签: Pingback Trackback XML-RPC 留言
- 发布时间:2014-12-03 00:03:18
- [48] IOS安全–浅谈关于IOS加固的几种方法
- [47] 如何拿下简短的域名
- [47] 图书馆的世界纪录
- [47] Oracle MTS模式下 进程地址与会话信
- [43] android 开发入门
- [43] 【社会化设计】自我(self)部分――欢迎区
- [42] 读书笔记-壹百度:百度十年千倍的29条法则
- [41] 界面设计速成
- [39] 视觉调整-设计师 vs. 逻辑
- [37] Go Reflect 性能