是这词不?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的例子。
周末愉快哈。