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. statspack系列5

    原文:http://jonathanlewis.wordpress.com/2006/12/27/analysing-statspack-5/ 作者:Jonathan Lewis 前些天,有人给我发了 ...

  2. 基于mongoDB的capped collection的性能优化

    MonitorLogging改造(消息接入) 改造前架构: 可以看出原来的流程中,大量业务分析,业务接入耦合在web服务层.大量操作,导致线程线性的挂起线程. 改造后: 将业务通讯抽象成为Monito ...

  3. (转载)查看三种MySQL字符集的方法

    (转载)http://database.51cto.com/art/201010/229171.htm MySQL字符集多种多样,下面为您列举了其中三种最常见的MySQL字符集查看方法,该方法供您参考 ...

  4. Delphi-idHttp-JSON用法

    从国外网站抄来的代码 Delphi source: http := TIdHttp.Create(nil);http.HandleRedirects := True;//允许头转向http.ReadT ...

  5. 初学acm感想

    初学acm,觉得大部分题对我来说都是陌生的,好多类型没见过,好多题没思路,打击确实不小,或许这个阶段正是比较能考验人的时候吧,因为只有坚持下来才有收获,没有人生下来就是大神,所以不能气馁更不能放弃,有 ...

  6. 我记录综合系统学习研究之用户管理五(如何利用wojilu打造一个全新的SNS应用)

    wojilu框架特别适合快速开发多用户分享内容应用,比如知乎,digg这类应用. 对于博客等用户程序,要有4个入口:1)用户展示入口(展示自己的应用) 2)用户后台管理入口(管理自己的应用) 3)聚合 ...

  7. [App]Android Studio First App

    准备着看Android Studio的体验如何. 通过Android Studio构建一个默认的项目,添加一些元素 <RelativeLayout xmlns:android="htt ...

  8. rails第一次做项目

    最近这几天一直都是在做rails的入门,也就是熟悉rails的增.删.改.查操作,做到rails的入门.这几天的熟悉,只是对于操作的熟悉,对于rails语言的机制还有很多不是很熟悉.昨天接手第一个真正 ...

  9. java获取天气预报的信息

    运行效果: 主要功能: 1,jsp页面输入省份和城市 根据条件获取当地的天气信息 2,java代码 利用第三方的省份和城市的路径地址 本工程主要实现java获取天气预报的信息步骤1,创建工程weath ...

  10. HTML5 Canvas核心技术—图形、动画与游戏开发.pdf4

    CanvasRenderingContext2D对象中用于平移.旋转坐标系的方法 镜像 scale(1,-1)绘制垂直镜像:scale(-1,1)绘制水平镜像 自定义的坐标变换 transform() ...