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.动态网页的实时写入对安全性放面的隐患更多。