24小时论文定制热线

热门毕设:土木工程工程造价桥梁工程计算机javaasp机械机械手夹具单片机工厂供电采矿工程
您当前的位置:论文定制 > 毕业设计论文 >
快速导航
毕业论文定制
关于我们
我们是一家专业提供高质量代做毕业设计的网站。2002年成立至今为众多客户提供大量毕业设计、论文定制等服务,赢得众多客户好评,因为专注,所以专业。写作老师大部分由全国211/958等高校的博士及硕士生设计,执笔,目前已为5000余位客户解决了论文写作的难题。 秉承以用户为中心,为用户创造价值的理念,我站拥有无缝对接的售后服务体系,代做毕业设计完成后有专业的老师进行一对一修改与完善,对有答辩需求的同学进行一对一的辅导,为你顺利毕业保驾护航
代做毕业设计
常见问题

ASP.NET框架下不同页面静态化实现方案探析

添加时间:2018/06/26 来源:未知 作者:admin
动态网页技术因其交互性强、数据刷新实时等特点, 使网站开发效率和维护效率得到了大幅提升, 目前互联网上大部分网站都采用动态网页技术构建, 但其存在的问题却不容忽视。
以下为本篇论文正文:
  摘 要:针对动态页面技术缺点, 基于ASP.NET框架, 提出了动态页面静态化的3种不同实现方案--真静态、伪静态、折中法。其中, 伪静态主要使用HttpModule拦截并修改HTTP请求中的URL地址;折中法主要使用HttpHandler结合静态页面模板生成并返回静态页面文件。给出了页面静态化实现方案选择策略, 即利用参数对动态网页进行分类, 不同的动态网页采用不同的静态化实现方案。
  
  关键词:ASP.NET; 静态化; HttpModule; HttpHandler; 选择策略;
  


 
  一、引言
  
  动态网页技术因其交互性强、数据刷新实时等特点[1], 使网站开发效率和维护效率得到了大幅提升, 目前互联网上大部分网站都采用动态网页技术构建, 但其存在的问题却不容忽视。
  
  (1) 对搜索引擎不够友好。目前, 很多搜索引擎不支持动态链接, 在网络上获取页面时, 会优先获取HTML静态页面内容。
  (2) 降低服务器性能。如果页面访问量比较大, 动态页面会频繁与数据库服务器进行交互, 降低服务器性能。当前, 在Web技术中, 只有HTML的静态页面效率最高, 对服务器性能要求最低[2].
  (3) 暴露网站使用技术。如果动态页面含有类似。jsp或。aspx这样的扩展名, 那么制作网站技术便一目了然, 使黑客容易有针对性地对网站进行攻击。
  
  针对上述问题, 有必要对动态页面进行静态化处理。目前, 大多数网站都采用单一的静态化实现方案, 但是在某些情况下, 服务器性能不但没有提高, 反而出现了下降。实际上, 对于不同类型的动态页面, 其静态化实现方案应该有所区别, 以最大限度提高服务器性能。本文首先分析了ASP.NET框架下不同页面静态化实现方案, 然后将动态页面进行分类, 按照不同页面的特点采用不同的静态化实现方法。
  
  二、 实现方案
  
  目前, 实现页面静态化技术主要有以下几种方案:
  
  (1) 真静态。这种方案真正将动态页面批量转化成静态页面并存储在服务器上。这种方案的优点是空间成本较低, 不需要数据库服务器。其缺点也很明显:一旦网站规模较大, 页面的维护全部依靠手工操作, 工作量巨大, 维护困难。因此, 这种方式只适合一些简单的、更新频率极低的介绍性页面。
  (2) 伪静态。这种方案其实并没有真正将动态页面转化为静态页面, 而是通过URL重写技术, 将动态页面路径重写成。html静态页面路径, 主要实现搜索引擎友好性与网站安全性, 而性能与单纯的动态页面没有差异。这种方案适用于更新速度快而访问量较小的动态页面。
  (3) 折中法。这种方案在用户访问静态页面时, 首先判断静态页面在服务器上是否存在, 如果存在就直接将静态页面返回给客户端;如果不存在, 则执行转化操作生成静态页面, 将该页面发送给客户端并保存在服务器上, 下次再请求该页面时则无需执行转换操作。
  
  以上3种方案在动态页面静态化实现中可结合使用。由于真静态实现方式与静态页面制作方式相同, 本文不再赘述。下面给出ASP.NET下伪静态和折中法的实现方式。
  
  1、 伪静态实现方式
  
  伪静态实现依赖对用户请求的URL地址重写。在ASP.NET框架下, 可以使用框架中提供的HttpModule对HTTP请求进行拦截, 对请求的地址进行验证。如果符合重写要求即将URL地址转换成动态页面形式, 在服务器端对用户请求进行重定向。具体实现步骤为: (1) 新建一个类, 实现IHttpModule接口, 命名为StaticModule; (2) 在新建类中定义一个EventHandler委托类型方法, 命名为context_BeginRequest; (3) 在context_BeginRequest方法中获取用户请求的原始URL; (4) 对原始URL进行验证 (可使用正则表达式) , 如果验证成功则生成真实的URL地址; (5) 在服务器端将用户请求重定向到真实的URL地址; (6) 重写IHttpModule接口中的Init方法, 将context_BeginRequest方法绑定到请求处理之前触发的事件中; (7) 在web.config配置文件中注册StaticModule.
  
  StaticModule类的实现代码如下:


  
  2、 折中法实现方式
  
  折中法实现关键在于如何在静态页面不存在的情况下自动生成静态页面。在ASP.NET框架下, 可以使用框架中提供的HttpHandler[3]对Http请求进行处理, 提供关键参数, 生成真实静态页面地址, 判断静态页面文件是否存在。如果存在, 则直接返回静态页面文件, 否则就生成静态页面文件。在生成静态页面文件时, 为了提高生成效率, 可以提前准备好静态页面模板, 运用特殊符号标签作为占位符, 在生成页面时只需对占位符进行替换即可。实现步骤: (1) 制作静态页面模板Template.html, 模板中用特殊符号 (如:{$xxxx}) 作为内容占位符; (2) 新建一个类, 实现IHttpHandler接口, 命名为StaticHandler; (3) 重写IHttpHandler接口中的ProcessRequest方法, 在其中获取用户请求的URL地址, 并将其转换为真实的静态页面地址; (4) 判断上一步生成的真实静态页面是否存在, 如果存在则直接将页面返回, 否则读取静态页面模板Template.html, 将模板中的占位符替换为真实数据, 将文件另存为静态页面文件并将其返回给客户端; (5) 在web.config配置文件中注册StaticHandler.
  
  StaticHandler类的实现代码:
  
  三、 页面静态化实现方案选择策略
  
  从性能角度考虑, 应该优先选择真静态和折中法进行页面静态化, 特性越接近静态页面的动态页面, 其静态化价值越大, 即读取频率越高、更新频率越低的页面越适合静态化。读写比[4]是定量参数, 即进行一次静态化操作后, 下一次被静态化前该网页读取的次数。网站可以根据实际需求设置读写比阈值 (记为p) .当网页读写比大于p时, 静态化对性能有提升, 反之, 盲目静态化就会增加服务器的文件读写工作量, 反而影响效率。
  
  如图1所示, 对页面进行分类, 其中读写比函数f (x) =px为静态化方案选择的分界线, 分界线之上的Ⅱ区页面可以选择折中法, 其中写频率较低的Ⅰ区页面可以考虑使用真静态法;而分界线以下的Ⅲ区页面就不适合频繁读写的静态网页文件, 从搜索引擎友好性和安全性考虑, 更适合使用伪静态法实现。
  
  图1 动态页面分类
  
  
  
  四、 结语
  
  本文分析了动态页面静态化实现方案, 即真静态、伪静态和折中法, 并给出了伪静态和折中法在ASP.NET框架下的实现。伪静态主要利用HttpModule对Http请求进行拦截, 从而重定向页面地址;折中法主要利用HttpHandler生成并返回真实的静态页面文件。3种实现方案各有特点, 应根据不同的动态页面选择不同的实现方案。读写比是一个可供分类网页的参数, 读写比高的页面可使用折中法实现, 更新频率极低的页面可考虑使用真静态法, 而读写比低的页面可使用伪静态法实现。
  
  参考文献:
  
  [1]赵志勤, 朱永虎, 林玉凤。面向数据分析的Web页面静态化方法研究与实现[J].现代计算机, 2014 (13) :37-40.
  [2]曾小燕, 周统钢。基于数据集成的页面静态化方法在政务网站的应用[J].电脑知识与技术, 2014, 10 (15) :3695-3696.
  [3]沈阳。基于HttpHandler的页面静态化[J].数字技术与应用, 2012 (1) :50-51.
  [4]白万民, 吴夫丹, 白小军。Web应用中的网页静态化技术研究[J].西安工业大学学报, 2014, 34 (1) :34-37.
相关内容
相关标签:
好优论文定制中心主要为您提供代做毕业设计及各专业毕业论文写作辅导服务。 网站地图
所有论文、资料均源于网上的共享资源以及一些期刊杂志,所有论文仅免费供网友间相互学习交流之用,请特别注意勿做其他非法用途。
如有侵犯您的版权或其他有损您利益的行为,请联系指出,论文定制中心会立即进行改正或删除有关内容!