TrackBack新手指南(编译) TrackBack ping:在这种情况下,一个ping就是一条从一个web服务器发送到另一个服务器的短消息(a small message)。
什么是TrackBack?简单说来,TrackBack被设计用来提供一种方法以实现网站之间的互相通告:它是一种方法,能让甲对乙说(甲、乙指两个人,下同),“这篇文章可能是你感兴趣的”。要实现这个动作,甲向乙发送一个TrackBack ping即可。TrackBack ping:在这种情况下,一个ping就是一条从一个web服务器发送到另一个服务器的短消息(a small message)。 历史TrackBack在2002年秋第一次以开放规范的形式发布。MT2.2作为一种协议和一项功能对其进行了实现,这是TrackBack的第一个实现。由于只有众多的站点都支持TrackBack,它的真正价值才能得以体现,所以TrackBack从一开始就被设计为一个开放系统:一个其它的blog工具能很简单地实现的开放系统。截止目前,已有下列工具支持TrackBack:
如何使用TrackBackTrackBack的使用依赖于具体的blog/trackback工具。下面主要针对MT的TrackBack使用。小书签(bookmarklet) 在MT中使用TrackBack的最简单的方法,是借助小书签,它利用其自动发现功能可以从你正在阅读的当前页面中找到一组可进行TrackBack的文章链接。(自动发现意味着你无需做任何相关的工作,因为系统会替你完成)。如果你还没有在MT中设置过小书签,则:
在MT的某些汉化版本中,需要将$MTHOME/lib/MT/L10N/zh_cn.pm做如下修改: ‘Post to MT Weblog‘ => ‘‘,
,否则看不到这个链接。改为 ‘Post to MT Weblog‘ => ‘Post to MT Weblog‘, ![]() ![]() ![]() 这儿有一个操作演示录像(9M大小),是mov格式,需要apple的QuickTime播放器播放。 通过文章编辑表单来TrackBack ping 如果你不想用小书签,仍可以在MT中使用TrackBack ping功能,只是不是那么简单而已。这时,需要找到被ping的目标文章的TrackBack Ping URL。下面描述一下如何一步步的操作。注意:TrackBack Ping Url不是文章的永久链接,而是另外一个链接。
利用”自动发现“功能来发送”TrackBack Ping” 在MT中,最后一种使用”TrackBack Ping”的方法,是在你的blog设置中打开“自动发现(TrackBack auto-discovery,也有人译为自动挖掘)”选项。 ![]() 当此选项打开后,MT利用自动发现在功能分析你的文章中的链接所对应的页面,是否接收“TrackBack Ping”,如果接收,则自动从你的文章发送一个”TrackBack Ping”到那个页面。此时,你不需要在”Urls to Ping”输入框中输入内容,也不需要用小书签来查找可ping的链接。
协议TrackBack是一个基于REST的点对点(peer-to-peer)通信和网站间通告的架构。协议基于”推送(Push)”的原理,而不是“拉取(pull)”:如果你想和其它站点分享信息,你要初始化连接,而不是等待其它站点发现你(和你的信息)。借助TrackBack,站点可以交流相关资源。例如,如果甲想通知乙他写了一些有意思的/想关的/震撼性的东东,甲发送一个TrackBack ping给乙。这完成了两件事:
TrackBack协议对任何blog工具都是开放的,具体规范参见http://www./cgi-bin/mallgate/20040514/http://www./docs/mttrackback.html, 或我的翻译. 目前的应用远程评论目前,TrackBack主要被用作一个远程评论系统:如果我在我的blog上发表了一篇文章来评价你在你的blog上的文章,我的blog工具会通报给你的blog工具以通知你此事。接着你的blog将显示我的文章的摘录部分,并提供了一个回到我的文章的链接。这使那些到你的网站的访问者知道其他人是如何评价你的文章的--换句话说,就是评论(comment)一样,只是这评论是在我的网站而不是在你的网站上,而在以前我只是在你的文章后留言评论。这让我能控制我的文章。如果我想修改一个打字错误,或者改变一些措词,于是我就可以做到。如果我在你的站点上留言,我没有权限来修改那些文字。换句话说,TrackBack使你更能控制你的内容。 TrackBack ping的威力,在于它创建了你我站间的一个直接引用。这个引用可以用来建立一个分布式的交谈(conversation)。例如,另外一个blogger(女)发布文章阐述了对我的文章的想法,并发送给我一个TrackBack ping.这个交谈(conversation)可从你最初的文章,追踪到我这儿,再到她那儿。这个线路可以通过TrackBack的元数据自动画出来。请看这个线路:http://www./cgi-bin/mallgate/20040514/http://www.sixapart.com/safari-thread.html,它开始的文章是http://www./cgi-bin/mallgate/20040514/http://www.sixapart.com/log/2003/01/initial_reactio.shtml.
内容聚合
一些以这种方式使用TrackBack的站点:
将来可能的应用内容控制随着时间的流失,你在你的blog上的花费的时间越来越多,你的blog的内容也越来越充实,你可能想控制所有你在其它的blog或系统中发布的内容。例如,如果你曾就某人的文章在其站点上发布过自己的想法,他想将这些想法发布到自己的blog中来,于是你可就可控制它们了。或者,如果你在amazon.com上发表过评述(review),你可能想把这个评述组织到你的自己的站点中来。TrackBack有助于做到这些。有个例子,Matt Haughey的Posted Elsewhere工具条(http://a./),将他在别外写的内容聚合起来。 反过来,TrackBack可以工作:不是在别人的站点上发表文章,而是作者在自己的blog上发表文章,然后将TrackBack ping发往其它站点。例如,如果amazon.com评述可以接收TrackBack ping,你可信息控制在自己的网站上,让amazon.com连到你这儿。
我的一点想法一个页面,要想提高自己在google的pagerank值,关键在于能得到来自高pagerank值的页面的链接。一般说来,这种连接的建立,低值的页面只能被动的接收,而blog工具中的comments和trackback,提供了一种在别人的页面上主动建立连接的方法。如果google没有针对这种情况调整算法,这将成为一种快速提升pagerank的途径。尤其是“自动发现”功能,能自动找出链接,检查相关的页面是否接收trackback ping,将会更加剧对这种手段的利用。真的是这样的吗? 参考资料 A Beginner‘s Guide to TrackBack http://www./trackback/beginners/ Posted by Hilton at November 6, 2003 04:49 PM | TrackBack Comments
dsfsdfsfsdsd Posted by: dfdf at May 18, 2004 03:04 PMLe Premier ministre Tony Blair avait affirm?mercredi devant la chambre des Communes que ces clich?s ?taient "presque certainement des faux". Posted by: cash advance at May 15, 2004 10:41 AMHi gao, 请问如何在mt.cfg中设置trackback信息。我的主机是51.net的。目前的trackback无法实现。 Thank you for the knowledge you provide! Posted by: xiongzm at February 15, 2004 04:32 AM五:Google的前1,000项搜索结果 请记住:单靠PageRank是无法使你获得比较理想的网站排名的。PageRank只是网站排名算法中的一个乘积因子,若你网站的其它排名因子的得分是零,就算你的PageRank是两百亿,最后的得分还是零。但这并不是说PageRank就毫无价值,而是在什么情况下PageRank才能完全发挥其功力。 如果在Google上进行广泛搜索,看起来好象有几千个结果,但实际显示最多前1,000项结果。例如对“car rental”,显示搜索结果为5,110,000,但实际显示结果只有826个。而且用时只有0.81秒。试想一下,0.84秒的时间就可以计算这五百万搜索结果的每个排名因子得分,然后给出最终我们所看到的网站排名结果吗? 答案就在于:搜索引擎选取与查询条件最相关的那些网页形成一个子集来加速搜索的速度。例如:假设子集中包含2,000个元素,搜索引擎所做的就是使用排名因子中的两到三个因素对整个数据库进行查询,找到针对这两三个排名因子得分较高的前2,000个网页。(请记住,虽然可能有五百多万搜索结果,但最终实际显示的1,000项搜索结果却是从这个2,000页的子集中提炼出来的。) 然后搜索引擎再把所有排名因子整合进这2,000项搜索结果组成的子集中并进行相应的网站排名。由于按相性进行排序,子集中越靠后的搜索结果(不是指网页)相关性(质量)也就越低,所以搜索引擎只向用户显示与查询条件最相关的前1,000项搜索结果。 请注意,在搜索引擎生成这2,000项网页的子集中我们强调了“相关性”这个词。即搜索引擎找寻的是与查询条件有共同主题的网页。如果这时候我们把PageRank考虑进去,就很可能得到一些PageRank很高但主题只是略微相关的一些搜索结果。显然这有违搜索引擎为用户提供最为相关和精准的搜索结果的原则。 一旦理解了为什么会如此,就说明了为什么你应当首先努力在“页面”因子和锚文本上下足工夫,最后才是PageRank。所以关键在于: 你必须首先在页面因素和/或锚文本上下足工夫,使这些排名因子能够获得足够的得分,从而使你的网站能够按目标关键词跻身于这2,000项搜索结果的子集中,否则PageRank再高也与事无补。 TrackBack技术规范原文是TrackBack Technical Specification,此处是译文。 TrackBack 技术规范
名称mttrackback - TrackBack 技术规范
作者Benjamin and Mena Trott,
版本1.1
描述本文描述了TrackBack, 一个点对点通信和网站间互相通告的框架. TrackBack的中心思想是TrackBack ping的概念, 从本质上讲,TrackBack ping是一个请求,通告“资源A与资源B相关,或有链接到资源B.” 一个TrackBack “资源” 用一个TrackBack Ping URL表示, 这是一个标准的URI. 利用TrackBack,站点间可以互相通告相关的资源. 例如,如果博客(weblogger)甲希望通知博客乙他写了一些有趣的/相关的/骇人听闻的文字,甲发送一个TrackBack ping给乙。这完成了两件事:
发送一个TrackBack PingTrackBack使用REST(Representational State Transfer,http://www.ics./~fielding/pubs/dissertation/top.htm)模式工作, 请求通过标准的HTTP调用传送。要发送一个TrackBack ping, 客户端向服务器端发送一个标准的HTTP请求,然后接收一个简单XML格式的应答(详见下述). 在TrackBack系统中,接收TrackBack pings的URL叫TrackBack Ping URL.一个典型的TrackBack Ping URL如http://www./cgi-bin/mallgate/20040514/http://www./mt-tb.cgi/5, 其中 为了发送一个ping, 客户端发送一个POST格式的HTTP请求到TrackBack Ping URL. 请求的内容的content type应是 POST http://www./mt-tb.cgi/5 Content-Type: application/x-www-form-urlencoded title=Foo+Bar&url=http://www./&excerpt=My+Excerpt&blog_name=Foo 注意: 在旧版本的TrackBack规范中,ping是用GET格式的HTTP请求发送的. 这种方式将不再支持; 2003年1月发布的Movable Type系统将会去掉对GET方式的支持。. 可能的参数包括:
在Movable Type系统中, 在上述的参数中只有 url 是必须的. 如果 title 没有提供,, url 的值将被用作标题. 对上述请求的应答信息,以XML格式编排,从而能实现应用层的错误检查。(HTTP层的错误将会这样返回--例如,如果TrackBack URL 所指的资源在服务器上已经不存在,状态码 一个成功的ping将会返如下应答: <?xml version="1.0" encoding="iso-8859-1"?> <response> <error>0</error> </response> 一个失败的ping将会返如下应答: <?xml version="1.0" encoding="iso-8859-1"?> <response> <error>1</error> <message>The error message</message> </response> 当然,应用程序应该允许将来根据需要增加字段,但应答的 XML 结构保持不变.
取回TrackBack Pings要取回某个特定TrackBack Ping URL收到的ping,向它发一个GET格式的HTTP请求,请求字符串(query string)是 ?__mode=rss. 在规范的将来修订中,--一旦从POST转换到GET的过渡期结束--这将非常简单,向TrackBack Ping URL发送一个GET请求,将返回一列ping. 一个GET请求样例如下:: GET http://192.168.1.103/mt/mt-tb.cgi/3?__mode=rss 对此请求的应答,要么返回如上所述的错误信息,要么返回一列用RSS规范格式标志的TrackBack pings, 整个应答内容的覆巢无根元素是 例如: <?xml version="1.0" encoding="iso-8859-1"?> <response> <error>0</error> <rss version="0.91"><channel> <title>TrackBack Test</title> <link>http:///the/trackback/item/link/</link> <description>Description of the TrackBack item</description> <language>en-us</language> <item> <title>TrackBack Demo</title> <link>http:///the/permalink/</link> <description>Excerpt</description> </item> </channel> </rss></response> 在标签
TrackBack Ping URLs的自动发现TrackBack客户端需要一种方法,来确实一个特定的URL或blog文章的TrackBack Ping URL. 服务器在生成页面时应内嵌RDF; RDF 描述关于该文章的元数据,允许客户端自动发现TrackBack Ping URL. RDF样例如下:: <rdf:RDF xmlns:rdf="http://www./1999/02/22-rdf-syntax-ns#" xmlns:dc="http:///dc/elements/1.1/" xmlns:trackback="http:///public/xml/rss/module/trackback/"> <rdf:Description rdf:about="http://www./archive.html#foo" dc:identifer="http://www./archive.html#foo" dc:title="Foo Bar" trackback:ping="http://www./tb.cgi/5" /> </rdf:RDF> 注意: 由目前的检查器将嵌入XHTML页面的RDF信息视为不合规范,要通过检查需要将上述的RDF信息用注释符括起来: <!-- <rdf:RDF xmlns:rdf="http://www./1999/02/22-rdf-syntax-ns#" ... </rdf:RDF> --> 这不是一个完美的解决方案,但是作为一个临时的应对措施它可正常工作. 其中的dc: 元素是标准的Dublin Core 元素; trackback:ping元素来自RSS 1.0/2.0的TrackBack模块,参见http://www./cgi-bin/mallgate/20040514/http:///public/xml/rss/module/trackback/. 给定一个URL my_url, 客户按下列步聚来寻找TrackBack Ping URL:
客户端一旦确实了TrackBack Ping URL, 它就可以发送TrackBack ping了 (参见 发送 TrackBack Ping). 自动发现的代码样例参见 例子.
例子
TrackBack实现样例为帮助那些有远见的开发人员在他们的系统中实现 TrackBack , 我们发布了一个TrackBack的独立的实现,它不依赖于Movable Type系统. 它可接收通过HTTP请求发送来的ping, 将ping存放在本地的文件系统中, 且可以返回某个特定TrackBack项(文章)的一列RDF格式的ping. 如果你要求,它还可以静态地产生 RSS文件. 例如,要将最近的15个ping列在工具条,这项功能就会?}上用场。 这个独立的TrackBack实现可从http://www./cgi-bin/mallgate/20040514/http://www./downloads/tb-standalone.tar.gz下载. 它的发行遵循 Artistic License. Artistic License条款的描述在 http://www./cgi-bin/mallgate/20040514/http://www.perl.com/language/misc/Artistic.html. 它的安装和使用指令说明在http://www./cgi-bin/mallgate/20040514/http://www./docs/tb-standalone.html.
自动发现的代码样例use LWP::UserAgent; sub discover_tb { my $url = shift; my $ua = LWP::UserAgent->new; $ua->agent(‘TrackBack/1.0‘); $ua->parse_head(0); ## So we don‘t need HTML::HeadParser $ua->timeout(15); ## 1. Send a GET request to retrieve the page contents. my $req = HTTP::Request->new(GET => $url); my $res = $ua->request($req); return unless $res->is_success; ## 2. Scan te page contents for embedded RDF. my $c = $res->content; (my $url_no_anchor = $url) =~ s/#.*$//; my $item; while ($c =~ m!(<rdf:RDF.*?</rdf:RDF>)!sg) { my $rdf = $1; my($perm_url) = $rdf =~ m!dc:identifier="([^"]+)"!; next unless $perm_url eq $url || $perm_url eq $url_no_anchor; ## 3. Extract the trackback:ping value from the RDF. ## We look for ‘trackback:ping‘, but fall back to ‘about‘ if ($rdf =~ m!trackback:ping="([^"]+)"!) { return $1; } elsif ($rdf =~ m!about="([^"]+)"!) { return $1; } } } 这段Perl定义了一个过程 discover_tb. 给定一个 URL, 它会试图找到与此URL相对应的TrackBack Ping URL. 如果找到了,它会返回 TrackBack Ping URL; 否则返回
变动
1.1 (2002年10月10日)
1.0 (2002年8月28日)规范首次发布. |
|
来自: liuqg > 《trackback》