Grainess

论坛:IT江湖作者:35f2发表时间:2006-04-01 12:32
是这词不?fine-grained, corse-grained.

用Ajax,调用和更新次数增加,但是因为是fine-grained的,所以当一个页面上有多个部分,每个部分的更新和刷新是独立的,不需要整个页面重新构造后返回。

举个例子,假设泡网要做tagging,每个帖子有一个HTML的div显示该帖子的tags,并允许用户添加tag。

用ajax下,每次页面显示的时候,跟现在一样,就是在onload之后去服务器再访问一次,获得该帖子的tag div的代码(注:由于每个帖子的tags的更新肯定比帖子刷新次数少,这个代码是可以被cache的,因而不是每次都直接访问服务器)。

当添加一个新tag的时候,也是直接发请求到添加tag的URL(假设:addtag.pl带上参数postid和tag值),该请求处理后返回更新后的tag div内代码。

整页刷新的情况下,就算添加一个tag,服务器还得去读帖子的数据库,构建好这个讨论thread,然后再读取该帖子的tags,构建好整个页面,然后返回。

而且由于tag的更新就要invalidate整个页面的cache,即使没有添加新的跟帖,也会增加直接访问服务器的次数。

如果一个页面有多个独立active/dynamic的部分,ajax相对整个页面刷新的优势就更明显了。

恩,说了半天,才想起不如直接举flickr的tag的例子。

周末愉快哈。
标签: 添加标签

0 / 0

发表回复
 
  • 标题
  • 作者
  • 时间
  • 长度
  • 点击
  • 评价
  •  
  • 35f2 
  • 2006-03-30 23:41
  • 50
  • 954
  • 0/0

京ICP备14028770号-1