TrackBack?有意思~
今天花了一些时间,把 MT 网站上的 TrackBack 入门又仔细地看了一遍,配合其规范,我用 ASP 实现了简单的 TrackBack,已经在本地和 MT 的网站上测试通过。
那篇入门文章我曾贴在前面的 blog 里。
就我目前的理解,所谓“TrackBack”,类似一种“通知”(ping)。举例说明:我在网上闲逛时,阅读了某人(不妨称呼其 A 君)的 Blog,并且对于他的某篇网志很感兴趣,之后,我在写自己今天的 blog 时,引用/评论了 A 君的这篇文章(全部或部分,哪怕仅仅一个链接),并且我打算让 A 君知道他的这篇文章被我所引用/评论,此时,我就需要使用 TrackBack。
TrackBack 是一种通过 HTTP 协议来进行某种方式的网络通信的方式或过程。它是和特定的 Blog 平台相关的,目前还没有统一标准。它和 RSS 一样,也是为以 Blog 为代表的新一代网络内容发布方式提供信息聚合的方便。
目前使用最多的 TrackBack 规范恐怕应该是 MT 制订的了。它是这么规定的(我的理解):
1. 每篇网志都有一个称为 TrackBack URL 的地址,这个地址依据 Blog 平台程序而不同,和它本身的 URL 地址(网址)也不同。比如,我的某篇 blog 的网址是“http://www.sinzy.net/Blog/Read.asp?ID=1&BID=1251”,而我可以规定它相应的 TrackBack URL 是“http://www.sinzy.net/Blog/TrackBack.asp?ID=1&BID=1251”。这个地址就是我们发送“通知”的目的地。
2. 发送的 TrackBack 信息,形式上就类似对特定文章的 comment~只是还包含你这个发送人的一些信息。上例中,我给 A 君发送 TrackBack ping 后,A 君的那篇文章的评论部分(或者专门的 TrackBack 部分)就会多出我发的东西。这样,A 君就事实上和我建立起了 Blog 的链接。
3. 通过 Blog 平台,向上述 TrackBack URL 发送一个 HTTP post(即 TrackBack ping),post 中包括下列元素:title:标题;url:你自己的文章/Blog 的地址;excerpt:内容摘要,相当于评论内容;blog_name:你的 Blog 的名字。
4. 接受 TrackBack ping 的 Blog 平台,需要回复一段简单的 XML 信息答复接受成功与否。
详细的规范,参见 http://www.movabletype.org/docs/mttrackback.html。
所以,只要是按照 title,url,excerpt 和 blog_name 这些元素组成和发送 HTTP post 并接受和处理,即可实现基本的 TrackBack。而支持 TrackBack 的 Blog 程序,还需要对每篇网志提供唯一的 TrackBack URL(这个更简单)。我在 ASP 中,是用的 ServerXMLHTTP 对象来做的。
通过 TrackBack,Blog 之间就能连成一张大网了,可怕~有趣!:)
我的 nirvana 将很快支持 MT 规范的 TrackBack~
部分代码(试验性质):
发送 TrackBack ping:
接受 TrackBack ping:
支持啊,我在做wap的部分!
原来用xmlhttp做啊……
ASP 中,不用组件来发送 HTTP 请求的方法,似乎只有 XMLHTTP 了……
那理论上是不是和其他一些提供blog服务的网站都可以进行这种backtrack?
经测试,可以向 blogcn 的网志发送 TrackBack ping。
呵呵,xmlhttp 难道不是组件?
;)
噢,抱歉,我应当描述为“非微软出品的第三方组件”。谢谢指正:)
原理是明白的可是,代码部分,能不能详细一点写出来!!
非常好.学习了.使用xmlhttp的 POST提交.
如果是php就复杂了