如何实现动态页面静态化
动态变静态
方法一:使用现成的插件,比如:ISAPI_Rewrite、IIS Rewrite、Apache HTTP 服务器的 mod_rewrite
等,它们都是基于正则表达式解析器开发的重写引擎。它们的使用方法查看它们自带的帮助即可。
方法二:自己写的代码实现动态网页静态化,方法也有好几种:
1、创建 FSO 对象,利用此对象将所需的内容动态创建到文件中生成 HTML 页面;
2、利用模板技术,将模板中特殊代码的值替换为从表单或是数据库字段中接受过来的值 生成 HTML 文件;
3、使用 Server.Transfer 转换技术,
方法三:使用 HttpWebRequest 请求客户端的方式,获取返回资源,生成静态页面。一般这样只需要获取网页内容即可,其它资源可放置在服务器上,自动加载。(注:此方法缺点明显,需要大量更改匹配 URL,建议慎用)
方法四:在 asp 中有 IhttpModule 接口。Ihttpmodule 可以简单理解为一个可以在执行像.aspx, 或者 mvc 中 control/action 前,添加我们自定义的操作的东西。
我们只需要编写这么一个 HttpModule 就可以了,当用户第一次请求 asp 处理时,我们可以在 ihttpmodule 中拦截到这个请求,然后获取到这次请求应该返回的 html 代码,然后我们返回这些 html 给用户,并保存刚才我们获取到的 html 到文件内,当用户下次请求时,我们只需要直接返回我们已经保存的 html 文件即可