t********k 发帖数: 808 | 1 【 以下文字转载自 BuildingWeb 讨论区 】
发信人: threestick (天马行空), 信区: BuildingWeb
标 题: 不知阿里巴巴是如何实现静态分页的
发信站: BBS 未名空间站 (Tue May 8 03:13:30 2007), 转信
比如这个页面
http://list.china.alibaba.com/buyer/offerlist/1032452.html
查询第几页时会传参数进去
但最后出来的是html的静态页面
这是如何实现的呢?
静态页面又是哪时生成? |
c**t 发帖数: 2744 | 2 URL rewrite
【在 t********k 的大作中提到】 : 【 以下文字转载自 BuildingWeb 讨论区 】 : 发信人: threestick (天马行空), 信区: BuildingWeb : 标 题: 不知阿里巴巴是如何实现静态分页的 : 发信站: BBS 未名空间站 (Tue May 8 03:13:30 2007), 转信 : 比如这个页面 : http://list.china.alibaba.com/buyer/offerlist/1032452.html : 查询第几页时会传参数进去 : 但最后出来的是html的静态页面 : 这是如何实现的呢? : 静态页面又是哪时生成?
|
c**d 发帖数: 579 | 3 .html文件不一定是静态页面,比如你可以把html和php cgi关联 |
l*s 发帖数: 783 | 4 一般大型网站都要把动态结果存储为html,一是为了利用cache来提高响应速度。二是
为了搜索引擎
【在 t********k 的大作中提到】 : 【 以下文字转载自 BuildingWeb 讨论区 】 : 发信人: threestick (天马行空), 信区: BuildingWeb : 标 题: 不知阿里巴巴是如何实现静态分页的 : 发信站: BBS 未名空间站 (Tue May 8 03:13:30 2007), 转信 : 比如这个页面 : http://list.china.alibaba.com/buyer/offerlist/1032452.html : 查询第几页时会传参数进去 : 但最后出来的是html的静态页面 : 这是如何实现的呢? : 静态页面又是哪时生成?
|
t********k 发帖数: 808 | 5 如何让动态结果存储为html呢?
我想知道的就是这
【在 l*s 的大作中提到】 : 一般大型网站都要把动态结果存储为html,一是为了利用cache来提高响应速度。二是 : 为了搜索引擎
|
l*s 发帖数: 783 | 6 直接把response输出到磁盘就行了。
关键是如何管理cache;什么时机生成cache.
【在 t********k 的大作中提到】 : 如何让动态结果存储为html呢? : 我想知道的就是这
|
t********k 发帖数: 808 | 7 是啊
这也是一个问题
让squid管理?
【在 l*s 的大作中提到】 : 直接把response输出到磁盘就行了。 : 关键是如何管理cache;什么时机生成cache.
|
q**1 发帖数: 193 | 8 不知道不同的Programming language是如何处理这个的?
我现在用的Perl里面有相应的Cache modules(FileCache
or MemoryCache),你可以cache某个网页,也可以只Cache
任意信息,例如某个复杂的计算模块,并制定过期时间和
Cache ID,例如:
if (not defined $m->cache->get($ip)) {
$dbh->insert_record(....);
$m->cache->set($ip, 'exist', '30 min');
}
我用这个语法结构cache一个访问ip,其生存期是30分钟。
之后30分钟之内的重复点击不不会被记录到我的数据库中。
用下面的语法结构我可以简单地把当前页面 cache 3天
return if $m->cache_self(expire_in => '3 days');
所有被Cache的内容都被存在Server硬盘上的一个相应地方,
该目录可以在Apache设置文件里做相应设置。
管理Cache在Perl里面应该说比较容易:-)
【在 l*s 的大作中提到】 : 直接把response输出到磁盘就行了。 : 关键是如何管理cache;什么时机生成cache.
|
k****i 发帖数: 1072 | 9 .net里还没有这么成熟的cache管理机制。
现成的cache大致有几方面:
1。Page level或Control level的cache.
可以在page/control header定义是否缓存;是否根据url的querystring的不同缓存不
同版本(或具体到某个parameter);自定义cache的criteria(如根据browser);缓存
时间;在那一级设备缓存。甚至还可以让数据的变动自动invalidate缓存(sql server
2005).
但程序员无法管理这些缓存的数据。
2。程序员可管理的各种server端和client端的缓存手段如Cache,session,cookie,
viewstate,etc.
3。Microsoft Enterprise Library的caching block.可以缓存到内存,磁盘甚至数据
库(provider model).
对于这种静态页面的生成和缓存,还没有现成的解决方案吧。
【在 q**1 的大作中提到】 : 不知道不同的Programming language是如何处理这个的? : 我现在用的Perl里面有相应的Cache modules(FileCache : or MemoryCache),你可以cache某个网页,也可以只Cache : 任意信息,例如某个复杂的计算模块,并制定过期时间和 : Cache ID,例如: : if (not defined $m->cache->get($ip)) { : $dbh->insert_record(....); : $m->cache->set($ip, 'exist', '30 min'); : } : 我用这个语法结构cache一个访问ip,其生存期是30分钟。
|
q**1 发帖数: 193 | 10
Cache 管理可以说是 Perl HTML::Mason 的一强项,可以取代很多
session的工作
server
不知道你说的第一个是不是HTTP header里面的(in html element)例如
我原来一直认为这是为了控制client-side的browser cache的,不知道谁来解释哈。。
【在 k****i 的大作中提到】 : .net里还没有这么成熟的cache管理机制。 : 现成的cache大致有几方面: : 1。Page level或Control level的cache. : 可以在page/control header定义是否缓存;是否根据url的querystring的不同缓存不 : 同版本(或具体到某个parameter);自定义cache的criteria(如根据browser);缓存 : 时间;在那一级设备缓存。甚至还可以让数据的变动自动invalidate缓存(sql server : 2005). : 但程序员无法管理这些缓存的数据。 : 2。程序员可管理的各种server端和client端的缓存手段如Cache,session,cookie, : viewstate,etc.
|
c**t 发帖数: 2744 | 11 I think RoR has better caching, you could cache html element rather than
page
【在 q**1 的大作中提到】 : : Cache 管理可以说是 Perl HTML::Mason 的一强项,可以取代很多 : session的工作 : server : 不知道你说的第一个是不是HTTP header里面的(in html element)例如 : : 我原来一直认为这是为了控制client-side的browser cache的,不知道谁来解释哈。。
|
q**1 发帖数: 193 | 12
Ruby on Rail??
我觉的要cache的应该是比较花时间的后台(计算|查询)结果,我用Mason也可以cache
任何 html element. :-)
【在 c**t 的大作中提到】 : I think RoR has better caching, you could cache html element rather than : page
|
q**1 发帖数: 193 | 13
The real thing I want to know is where the server saves the cached info
if they are cached in the server-side. //bow
【在 q**1 的大作中提到】 : : Ruby on Rail?? : 我觉的要cache的应该是比较花时间的后台(计算|查询)结果,我用Mason也可以cache : 任何 html element. :-)
|