C页面静态化学习.docVIP

  • 1
  • 0
  • 约9.52千字
  • 约 7页
  • 2017-06-07 发布于重庆
  • 举报
C页面静态化学习

静态化页面实现学习 by widebright 静态化页面是指使用动态页面语言编程,生成*.htm静态页面文件。好像这个技术很流行!看象百度知道,没一个问题都是一个html文件,163新闻评论页面也都是html页面。所以在网上搜索了一下相关的资料。 为什么都喜欢采用静态页面化?听说是有以下有点:1、 提高服务器性能, *.aspx之类的动态页面毕竟是还要经过服务器解析处理的,而静态页面服务器只要返回相应的文件就可以了。怎么说静态面效率也要高一点啦。2、说是安全性高(可能是说不用担心SQL注入这些东西了,静态页面啊,当然没有这个了)。3、容易被搜索引擎收录(好像网页搜索引擎处理静态页面更容易一点,想也是动态页面还要请求啊什么的)。 可能还有其他有点我就不知道了。不过我个人觉得要不要采用静态化网页也还是要考虑一下的,动态网页的性能也没有象想象的那么差,大多数的时候还是能够满足要求的,象微软自己的网页MSDN, 论坛也没有去实现静态页面化。看了一下高手的分析,说是动态的网页便于控制权限,新闻的内容生成系统CMS 采用静态页面化确实可以提高系统性能。要不要采用这项技术还是自己考虑吧。 中的实现方法: 查找了很多资料,说我看到的一些实现方法。 1. url重定向。就是在服务器端采用url重定向,把你对静态页面的请求转到动态页面上去。你访问/254.htm 其实是转到/1.asp?id=254去了。 这个其实是假的静态化页面,他根本就没有静态页面的存在。 对URL重写转向的支持,在Apache服务器上由一非缺省模块(mod_rewrite)来完成,而在IIS下也同样有类似的模块,分别是ISAPI REWRITE及IIS REWRITE。无论是在Apache下还是在IIS下,重写转向的语法都基于正则表达式,只有少量的不同。这个IIS重定向ISAPI是要额外安装扩展才有的,有需要的可以自己在网上找一下。 在A下面也可以通过实现http handler 或者http module 模块来实现,象有一个.net 平台的Ajax组件也是通过实现http handler 来整合的,关于http handler的实现在我的文件上传组件那篇文章里也有提及,感兴趣的自己学习吧。个人觉得是可以做到url静态请求转换到动态请求页面的这种url映射功能的。 不过这种方法是要稍稍影响性能的,毕竟多了个ISAPI的环节。 2、采用xml文件,结合xlst文件。这种方法很多人都知道,因为CSDN论坛就是这么做的。我个人对xml方面的技术不太了解也不感兴趣。想了解这方面资料的自己找去吧,反正是通过xlst文件(模版)自动显示xml文件的内容出来。 3.采用Ajax技术,采用这个当然可以做到静态页面了。 4.采用html模版替换技术。就是预先写个html模版文件,然后在生成静态页面时进行替换。这种方法实现起来很容易,也是我想到的方法。网上有很多例子,我就不详细说了。比如写象下面一样一个模版 : html … … … … title content /html 生成静态页面的时候用个 string.replace方法把 title content 等替换成你自己的具体的内容就行了。静态页面的生成可以选择在有数据更新的时候,比如一张帖子又有人回复了,就可以重新生成这张帖子的html文件。当然你这个html模版可以做的更复杂一些了,比如加入css等等啦。 静态页面评论功能的实现: 这也是一开始不理解的地方,看网易新闻,百度知道,都是html静态页面都还可以回复,发表评论等。这些评论、回复是要保存到数据库里面去的,不是动态页面才能实现的功能吗?我一开始感到很奇怪。综合众人的说法,网页点击技术等可以通过在 include 页面外javascript脚本的时候指定src为一个asp之类的动态网页,在那个动态页面实现计数等功能。评论功能的实现有人说在页面下端加一个iframe来显示。在iframe里加一个动态页面确实可以做到的,不过我觉得好像和直接采用动态页面没多大区别。 还是看看别人是怎么做的吧。我随便打开了个百度知道的页面,查看了一下页面的源代码: form method=post name=fdf action=/q onSubmit=return checkcoAndsn(this,回答); input type=hidden name=ct value=22 input type=hidden name=cm value=100009 input type=hidden name=tn value=ikreplysubmit

文档评论(0)

1亿VIP精品文档

相关文档