Redian新闻
>
不知阿里巴巴是如何实现静态分页的
avatar
不知阿里巴巴是如何实现静态分页的# DotNet - 窗口里的风景
t*k
1
【 以下文字转载自 BuildingWeb 讨论区 】
发信人: threestick (天马行空), 信区: BuildingWeb
标 题: 不知阿里巴巴是如何实现静态分页的
发信站: BBS 未名空间站 (Tue May 8 03:13:30 2007), 转信
比如这个页面
http://list.china.alibaba.com/buyer/offerlist/1032452.html
查询第几页时会传参数进去
但最后出来的是html的静态页面
这是如何实现的呢?
静态页面又是哪时生成?
avatar
c*t
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的静态页面
: 这是如何实现的呢?
: 静态页面又是哪时生成?

avatar
c*d
3
.html文件不一定是静态页面,比如你可以把html和php cgi关联
avatar
l*s
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的静态页面
: 这是如何实现的呢?
: 静态页面又是哪时生成?

avatar
t*k
5
如何让动态结果存储为html呢?
我想知道的就是这

【在 l*s 的大作中提到】
: 一般大型网站都要把动态结果存储为html,一是为了利用cache来提高响应速度。二是
: 为了搜索引擎

avatar
l*s
6
直接把response输出到磁盘就行了。
关键是如何管理cache;什么时机生成cache.

【在 t********k 的大作中提到】
: 如何让动态结果存储为html呢?
: 我想知道的就是这

avatar
t*k
7
是啊
这也是一个问题
让squid管理?

【在 l*s 的大作中提到】
: 直接把response输出到磁盘就行了。
: 关键是如何管理cache;什么时机生成cache.

avatar
q*1
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.

avatar
k*i
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分钟。

avatar
q*1
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.

avatar
c*t
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的,不知道谁来解释哈。。

avatar
q*1
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

avatar
q*1
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. :-)

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。