asp.net之动态页面和静态页面的区别

  当我开始接触web开发的时候,首先学到的是html、css、js这一类网页语言,通过布局可以搭建出一个静态网站,效果也跟我们上网时经常看到的一些网站一样了。于是都感觉很有成就感了。

  可是什么又是动态语言呢?在还没有学习这些内容时,我一直没搞清楚动态和静态的区别,包括前辈们说的动态网站和静态网站,包括他们和构建asp.net网站之间的关系。通过学习之后,做出一些个人的总结。

  1.静态页面

  特点:静态页面或者说静态网页,没有后台数据库,没有后台程序,是直接存在于服务器硬盘上的,不需要经过服务器编译就能直接显示,通常是以.html,.htm,.shtml结尾

  URL请求:浏览器通过URL向IIS发出请求,IIS根据后缀名判断是动态页面还是静态页面,如果是静态页面,则直接从硬盘读取并发回浏览器再做显示。如果是动态页面则进入asp.net处理机制,最后将处理完成的页面发回到浏览器。

  优点:

                a.速度方面,访问更快。它不用请求数据库,不用做程序编译处理,因此也减少了系统的消耗;

b.网站优化方面,静态网页可以提高搜索引擎对客户信息的存储和网站的排名,因此更容易被搜索引擎发现,有利于搜索排名的提高。

c.安全性方面,静态网页不用像动态网页那样可以随时动态写入数据能够减少不良代码的攻击提高了网站的安全性。

d.稳定性方面,不会因为数据库或程序的错误影响到网站正常运行或导致数据丢失。

  缺点:

      a.不利于维护更新,如果需要修改数据,必须打开这个页面在上面做修改,因此维护工作更加繁琐,交互性也变的很差。

       b.系统容量方面容易占据较大空间,因为它是实实在在存在于服务器的,如果页面过多则会占据的空间也就更多。

     c.实现功能少。由于缺少了与数据库的关联,在使用功能方面就显得非常弱势了。

  应用:数据量小且不用经常更新的展示型网站更加适合用静态页面搭建

  2.动态页面

  特点:动态页面则是在静态页面的基础上加以提高,有了后台数据库和编程语言的支持,在功能性,交互性上有了大大的提高。动态网页实际上并不是独立存在于服务器上的网页文件,只有当用户请求时服务器才返回一个完整的网页。它需要经过编译才能运行,通常以.asp,.asp.net,.php,.jsp等常见的形式出现。

    优点:a.根据用户实时请求返回用户所需页面,交互性更强。

     b.动态网页以数据库技术为基础,可以大大降低网站维护的工作量。

     c.有了数据库的支持,网站可以实现更多的功能,如用户注册、用户登录、在线调查、用户管理、订单管理等等。

  缺点:a.由于动态页面的生成是采用数据库的内容,所以网页内容主题的永恒性不能保证。这样造成了搜索引擎的阅读困难,即搜索引擎抓不住一个永恒的主题,因此不能输入到搜索引擎中的缓存( cache )中。

     b.动态网址里往往包含 “ ? ” 和很多参数,这让目前技术条件下的搜索引擎在判断和识别造成了很大的困难。

     c.动态网页的实时写入对安全性放面的隐患更多。

asp.net之动态页面和静态页面的区别的更多相关文章

  1. Asp.Net中动态页面转静态页面

    关于在Asp.Net中动态页面转静态页面的方法网上比较多.结合实际的需求,我在网上找了一些源代码,并作修改.现在把修改后的代码以及说明写一下. 一个是一个页面转换的类,该类通过静态函数Changfil ...

  2. 路由器中pppoe,动态IP,静态IP的区别

    路由器中pppoe,动态IP,静态IP的区别 要把路由器设置得能上网,无非就是设置WAN外网接口连接而已.WAN接口能上网,则连接的电脑就能上网,反之则上不了网.只不过WAN接口往往有pppoe,动态 ...

  3. SpringAOP用到了什么代理,以及动态代理与静态代理的区别

    spring aop (面向切面)常用于数据库事务中,使用了2种代理. jdk动态代理:对实现了接口的类生成代理对象.要使用jdk动态代理,要求类必须要实现接口. cglib代理:对类生成代理对象. ...

  4. 一个文件搞定Asp.net core 3.1动态页面转静态页面

    最近一个Asp.net core项目需要静态化页面,百度查找了一下,没有发现合适的.原因如下 配置麻烦. 类库引用了第三方类,修改起来麻烦. 有只支持MVC,不支持PageModel. 继承Actio ...

  5. ASP.Net MVC如何访问的静态页面

    MVC开发中,因为View文件夹下的web.config文件默认会把任何方法的请求的任何文件,路径都交给 System.Web.HttpNotFoundHandler 去处理.起到Controller ...

  6. JSP中动态INCLUDE与静态INCLUDE的区别

    动态INCLUDE 用法: <jsp:include page="included.jsp" flush="true" /> 说明: 它总是会检查所 ...

  7. JSP中动态include和静态include的区别(简版)

    动态的include: 用法:<jsp:include page="1.jsp" flush="true" /> 特点:行为元素,可以带参数:先编译 ...

  8. 动态include与静态include的区别

    搬一下以前写的 个人总结: 动态INCLUDE 用jsp:include动作实现 <jsp:include page="included.jsp" flush="t ...

  9. JSP 中动态 INCLUDE 与静态 INCLUDE 的区别?

    一.静态包含指令<%@include file="fileurl"%> 两个jsp页面的<%@page contentType="text/html:c ...

随机推荐

  1. Delphi TcxTreelist 表格左边总是缩进去 ,好像有偏移 解决方法

    1.  TcxTreelist的表格总是总是缩进去,如下效果 : 但是,新建一个没有偏移 ,经过观察,原来在  属性Images造成的,  把imgToolbars去除就可以了. 效果:

  2. MFC如何获取编辑框中输入的内容

    1.GetDlgItemText() 2.先用 GetDlgItem(编辑框的ID)获取指向编辑框的指针.再用GetWindowText函数将获取内容保存至指定的字符数组里. 3.使用 GetDlgI ...

  3. bzoj3224 Tyvj 1728 普通平衡树(名次树+处理相同)

    3224: Tyvj 1728 普通平衡树 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 5354  Solved: 2196[Submit][Sta ...

  4. Prebrowsing

    同事推荐的文章: http://www.stevesouders.com/blog/2013/11/07/prebrowsing/

  5. 【转载】Storm TickTuple 意外停止

    原文链接转自:http://woodding2008.iteye.com/blog/2328114 Storm的滑动窗口TickTuple通常用来控制bolt定制执行入库操作,使用过程中遇到了Tick ...

  6. wxPython中添加窗口标题图标

    这种添加方法可以避免要将应用程序和图标放在同一个目录,可以实现从模块中读取图标 #用于从module中读取ico,避免了要在程序所在路径附上此ico exeName = win32api.GetMod ...

  7. LINQ如何递归子控件

    private void SetTextReadOnly(Control ctr, bool blReadOnly) { ctr.Controls.Cast<Control>().Sele ...

  8. iOS APNS远程推送(史上最全步骤)

    /*****************************************1************************************************/ waterma ...

  9. 四种可变交流swap方法

    1.void swap(int &x, int &y){ int temp=x; x=y; y=temp; } 2.void swap(int &x, int &y){ ...

  10. typename使用在模板中区分static成员和类型

    16.19 编写函数,接受一个容器的引用,打印容器中的元素,使用容器的size_type和size成员来控制打印元素的循环. 16.20 重写上一题的函数,使用begin和end返回的迭代器来控制循环 ...