分享

TrackBack 的简单概念和实现架构

 liuqg 2006-03-10
引用
TrackBack 初看起来很难理解, 不过理解之后就不会有问题了.
基本上它的构想如下:

1. 某个 Blog A 上有你感兴趣主题, 你想在自己的 Blog B 上发一个相关的主题, 并且希望发表的内容和回复自动发到 Blog A 上.
2. 这时你就可以复制 A 上面相关的 TrackBack 链接, 输入到你的 Blog B 中的那个主题的 TrackBack URL 框中.
3. 之后你的主题和后面所有回复的摘要都会自动发往 Blog A 的那个主题中.

说白了, 就是一个跨站点的留言系统. (希望算是比较正确的描述 )

TrackBack 的实现有两个重点:
1. 作为 Blog 服务端时(也就是 Blog A), 需要能接收到各个使用了 TrackBack 连接的 Blog 发送到自己这里的信息并发回反馈.
需要解析发来的数据, 不过这个很容易实现.
2. 作为客户端时(Blog B), 需要在有新的回复时通过指定的链接发出内容摘要给服务端.
目前官方文档定义了两种方式:
1) 通过 QueryString (正在逐步废除)
2) 通过 Post Form 格式 (通过 HTTP Header 模拟的 Form Post)
PHP 可以通过 fopen 实现. ASP 可以通过 ServerXMLHTTP 实现(老的 XMLHTTP 性能和功能不理想). PERL 的请参考 MovableType.
其它的就是 TrackBack List RSS 和 AutoDiscovery. 前者我实现了, 后者没有打算, 虽然还算简单.
Trackback List 没多大用处, 只是用 XML 列出所有发到此 URL 的所有 Trackback 罢了.
AutoDiscovery 其实就是在页面里面隐藏一段代码, 给 Trackback 客户端自动寻找到 Trackback URL 而已(有人说 AutoDiscovery 会毁了 TrackBack 的实用性, 我深以为然, 因为这会给 spam robot 可乘之机).

但是目前 Trackback 还存在编码不同的问题, 因为规范里面没有规定. 例如我的 Blog 是 GB2312 而别人的是 UTF-8, 那么发过去就是乱码. 要把 Blog 转成 UTF-8 就需要 Windows 2000 Server 及更高版本的服务器了. 为此犹豫中.

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多