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. HDU-1540          Tunnel Warfare

    Tunnel Warfare Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)To ...

  2. win7常用键

    (1)xp和win7中都可以使用Alt+Tab中进行标签切换,win7中添加了Wins+Tab可以进行3D标签切换. (2)你知道怎样一次过调整显示器亮度.音量大小,打开无线网,还能够看到本本电池电量 ...

  3. Git起步--git安装与初次运行git前配置

    在你开始使用 Git 前,需要将它安装在你的计算机上. 即便已经安装,最好将它升级到最新的版本. 你可以通过软件包或者其它安装程序来安装,或者下载源码编译安装. 一.Git安装 1. 在linux上安 ...

  4. ElasticSearch elasticsearch-servicewrapper 在linux上的安装部署全程记录

    原文地址:http://www.cnblogs.com/tianjixiaoying/p/4316011.html 由于项目需求,需要在linux平台搭建一套ES服务.在搭建过程中,遇到各种各样的问题 ...

  5. Hdu 5213-Lucky 莫队,容斥原理,分块

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=5213 Lucky Time Limit: 6000/3000 MS (Java/Others)    Me ...

  6. 电源管理之pmu驱动分析

    电源管理芯片可以为多设备供电,且这些设备电压电流有所不同.为这些设备提供的稳压器代码模型即为regulator. 说白了regulator就是稳压器,它提供电源供给.简单的可以gpio操作,高电平开电 ...

  7. BigInteger Uva

    import java.io.*; import java.math.BigInteger; import java.util.*; public class Main { public static ...

  8. Result

    1.常用四种类型: a)          dispatcher(默认) 服务器跳转(普通转发),就是forward到一个JSP或者HTML或者其他结果页面,不能是Action 视图请求地址是     ...

  9. Javascript数据类型——undefined和null的异同

    Javascript的基本数据类型中有undefined和null两种只有一个值得特殊数据类型.其中undefined表示未被初始化,不是为声明.而null表示一个空对象指针,而这也是使用typeof ...

  10. jmeter控制器

    1.仅一次控制器  这个控制器可以保证线程在多次循环跑得情况下只登陆一次 2.循环控制器(Loop Controller:设置循环次数 结果: 3. ForEach控制器(ForEach Contro ...