php生成静态页面问题
一些时时更新的内容,可以生成静态页面吗,像有留言功能的页面,如果是生成了静态页面,那当用户留言的时候,又这么无刷新提交呢,提交后留言的内容又显示在这个生成的静态页面中呢,...
一些时时更新的内容,可以生成静态页面吗,像有留言功能的页面,如果是生成了静态页面,那当用户留言的时候,又这么无刷新提交呢,提交后留言的内容又显示在这个生成的静态页面中呢,这个我有点搞不明白,希望高手能帮忙解答一下
展开
5个回答
展开全部
顾老兄上次问个CVS的问题,这次又问这个。长此以往,老兄你要成为“疑难杂症”专家啦。
你问的是实时更新,我们从这个角度出发来发散分析:
实现实时更新方法有以下几种:
1、纯动态页面,这种方式想必不用多说了吧。就是asp呀,php呀这些服务器语言进行实时更新的,这种方法没有更新时间差;
2、拟静态页面:这种方式是基于第1项的前提下,进行URL重写,这种方式也比较常见。
3、缓存页面:这种方式的特点是更新,但不实时,但也只是相对来说的,如果在对更新速度要求不是很高的特定要求下,也可变相地称之为实时更新;
4、静态页面重生成:(根据你的问题来看,核心问题就是这种,那我们就详细分析一下)网站页面采用了html纯静态页面的方式,但是在用户浏览页面时,是由php页面进行跳转来的,虽然进行了页面中转的过程,但是因为程序执行的代码很少、大量的页面内容并不需要重新查询数据库重新得来,所以总体效率还是最高的。那么如何实现呢,且看下方步骤:
1) 需要使用URL重写服务,这种重写服务其实只是一种过场,比如我们有一个链接是:www.baidu.com/88.html。
2)当有用户点击它的时候,由重写服务链接到特定的链接管理页面(link.php)
3)这个页面上传来的链接不用经过改造,直接使用,但是这个页面有一个主要的工作是查看更新标志位,也就是说,这个页面会对这个已经生成了静态页面的88.html数据库中的更新标志位进行检查
4)需要注意的一点是,这个标志位是数据库中事先进行过设定的,就是说,网站的每一个静态页面都有对应的这个数据库字段。
5)如果该标志位为0(是什么由设计员决定,只要有一个统一协议就好。)说明没有更新,直接显示,如果有更新,则链接到相应的php页面对该静态html页面重新生成。
6)如果有新留言或进行了某些后台页面更改操作后,将这个标志位置为1,然后呢?哼哼,谁在置了标志位后第一个浏览这个页面,服务器就会重新生成它,然后复原标志位。
这种方案比缓存方式的更新速度来得更快,可以应用在流量大、更新速度要求很高的网站上。当然,这种方案是从网站的设计之初,也就是框架设计的时候就已经开始“预谋”了。否则,要想在设计的中途改动,怕是要伤筋动骨的。
(以上过程是我个人采用的方式,未经论证、未经审核、未经批准、未经备案。晒到这里也希望有其它涉及过相关技术的朋友进行批评指正。小可不胜感激。)
5、html+ajax:这种方案用来解决 你这个问题也不错,如何实现呢,且看:
1)html大体框架页面生成了静态,也不用经常性地频繁重生成,然而在留言区加入ajax代码。
2)这个ajax代码负责留言区的显示任务、无刷新提交任务。
3)当用户点击www.baidu.com/88.html的时候,里面的ajax载入触发,到html_ajax.php页面去下载本页面的留言内容,然后写入前端页面。
这种方案在用户体验上相当不错,但个人总感觉它可能会对搜索引擎对留言区的收录会出现一些问题,但应该不会产生太大问题罢。
好了,以上方案临时构思,请大家批评指正。
你问的是实时更新,我们从这个角度出发来发散分析:
实现实时更新方法有以下几种:
1、纯动态页面,这种方式想必不用多说了吧。就是asp呀,php呀这些服务器语言进行实时更新的,这种方法没有更新时间差;
2、拟静态页面:这种方式是基于第1项的前提下,进行URL重写,这种方式也比较常见。
3、缓存页面:这种方式的特点是更新,但不实时,但也只是相对来说的,如果在对更新速度要求不是很高的特定要求下,也可变相地称之为实时更新;
4、静态页面重生成:(根据你的问题来看,核心问题就是这种,那我们就详细分析一下)网站页面采用了html纯静态页面的方式,但是在用户浏览页面时,是由php页面进行跳转来的,虽然进行了页面中转的过程,但是因为程序执行的代码很少、大量的页面内容并不需要重新查询数据库重新得来,所以总体效率还是最高的。那么如何实现呢,且看下方步骤:
1) 需要使用URL重写服务,这种重写服务其实只是一种过场,比如我们有一个链接是:www.baidu.com/88.html。
2)当有用户点击它的时候,由重写服务链接到特定的链接管理页面(link.php)
3)这个页面上传来的链接不用经过改造,直接使用,但是这个页面有一个主要的工作是查看更新标志位,也就是说,这个页面会对这个已经生成了静态页面的88.html数据库中的更新标志位进行检查
4)需要注意的一点是,这个标志位是数据库中事先进行过设定的,就是说,网站的每一个静态页面都有对应的这个数据库字段。
5)如果该标志位为0(是什么由设计员决定,只要有一个统一协议就好。)说明没有更新,直接显示,如果有更新,则链接到相应的php页面对该静态html页面重新生成。
6)如果有新留言或进行了某些后台页面更改操作后,将这个标志位置为1,然后呢?哼哼,谁在置了标志位后第一个浏览这个页面,服务器就会重新生成它,然后复原标志位。
这种方案比缓存方式的更新速度来得更快,可以应用在流量大、更新速度要求很高的网站上。当然,这种方案是从网站的设计之初,也就是框架设计的时候就已经开始“预谋”了。否则,要想在设计的中途改动,怕是要伤筋动骨的。
(以上过程是我个人采用的方式,未经论证、未经审核、未经批准、未经备案。晒到这里也希望有其它涉及过相关技术的朋友进行批评指正。小可不胜感激。)
5、html+ajax:这种方案用来解决 你这个问题也不错,如何实现呢,且看:
1)html大体框架页面生成了静态,也不用经常性地频繁重生成,然而在留言区加入ajax代码。
2)这个ajax代码负责留言区的显示任务、无刷新提交任务。
3)当用户点击www.baidu.com/88.html的时候,里面的ajax载入触发,到html_ajax.php页面去下载本页面的留言内容,然后写入前端页面。
这种方案在用户体验上相当不错,但个人总感觉它可能会对搜索引擎对留言区的收录会出现一些问题,但应该不会产生太大问题罢。
好了,以上方案临时构思,请大家批评指正。
展开全部
这样的小东西,还是用缓存的比较好。
非得要静态。
做法:无刷新提交和静态无关。可以把以前的删除了,然后重新生成。
非得要静态。
做法:无刷新提交和静态无关。可以把以前的删除了,然后重新生成。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
呵呵,我以前做过,本来我也是觉得没必要生成静态页面的 ,但是后来换了个服务器 ,那个服务器动态加载太慢,没办法我就把那个页面生成静态页面了,但是那个页面有个留言的功能 ,于是就用到了Ajax即时刷新了
可以生成静态页面 动态部分就靠Ajax刷新来解决
可以生成静态页面 动态部分就靠Ajax刷新来解决
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你用的什么系统啊,现在一般提交一条信息后如果你配置选择的是生成静态,那么立刻这条信息就生成html了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不就一留言本吗,干嘛要静态呢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询