首页生成静态的html,关于网站生成静态html文件的两种方案思考

关于网站生成静态文件有利有弊,通常来讲交互性的站点不太适合静态化,如社交网站,论坛之类的站点等等。如果以资讯内容展示为主,生成静态文件能够很好的提高服务器吞吐量。下面提供两种生成静态文件的方案,分析下其中的利和弊。

1、后台增加生成静态页面功能

优点

这种方案在技术实现上比较简单,就是在后台增加生成静态的功能,例如生成首页、生成列表页、生成内容页面等。很多cms都提供静态文件生成的功能,例如织梦、帝国cms。

用户访问的都是静态页面,服务器负载非常低。

缺点

当网站内容比较少的时候,生成静态页面非常快速。可是当内容成千上万的时候,如果要进行全站更新,就力不从心了。这个是最大的弊端。

必须由管理员去点击生成功能,增加了人工成本。

生成的很多页面都没人访问,浪费磁盘空间。例如文章列表页,一般前几页访问比较多,再后面的几乎都没有人访问。

2、由用户触发生成

这种方案大概是这样:例如有一个文章内容页面/article/1.html,当用户还没有访问的时候这个静态文件是不存在的,只有当用户访问后该静态文件才会生成。这种方案需要使用重写功能,先检测文件是否存在,如果不存在则转发到一个动态的页面,在动态的页面生成该文件。很多框架都提供了这样的功能,如ThinkPHP、zend framework。以下是流程图:

7fe613cfbe3ecf013f9c49eb818b76e9.png

静态文件生成流程图

优点

生成静态页面是由用户触发的,减少了管理员操作。

只生成用户访问的页面,大大减少了硬盘空间的占用。

缺点

涉及到了重写功能、正则表达式,技术实现要求更高。

因为用户第一次访问的时候,是访问动态的文件,所以对动态功能的性能有一定要求。

因为静态文件的生成由用户访问触发,所以静态文件如何更新是个大问题了。比较常见的做法就是定期删除静态文件。

这里附上这种方案的示例代码,运行环境采用apache,放在www根目录下,在浏览器里访问http://localhost/article/1.html就可以看到效果了。点击下载:静态文件生成方案示例代码。

小结

如果技术实力雄厚,建议采用第二种,一劳永逸的办法。如果说站点内容不多,那么采用第一种方案可以节省开发时间,也是一种选择。以后站点发展好了,有了更多资金再考虑换成第二种。

现在随着硬件越来越强悍,内存越来越便宜,几十G都很普遍了,也可以把页面缓存到内存,连磁盘读写都省了。笔者用过64G内存的服务器,缓存的很舒服。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值