4.2 静态页面和动态页面
4.2.1 静态页面
在互联网发展的开始阶段,人们通过浏览器浏览的页面一般都是HTML静态页面,也即Web页面只包括单纯的HTML标记文本内容,浏览器也只能显示呆板的文字或图像等信息。用户使用客户机端的Web浏览器,访问Internet上各个Web站点,在每一个站点上都有一个主页(Home Page)作为进入某个Web站点的入口。每一Web页中都可以含有信息及超文本链接,超文本链接可以让用户链接到另一Web站点或是其他的Web页。从服务器端来看,每一个Web站点由一台主机、Web服务器及许多Web页所组成,以一个主页为首,其他的Web页为支点,形成一个树状的结构,每一个Web页都是以HTML的格式编写的。Web服务器使用HTTP超文本传输协议,将HTML文档从Web服务器传输到用户的Web浏览器上,就可以在用户的屏幕上显示出特定设计风格的Web页。
但很快,这种静态页面满足不了用户的浏览需求。用户除了浏览相关信息外,还需要在浏览器浏览的页面中进行交互操作,以便让浏览器能处理用户的请求。在这种需求下,1995年后的浏览器发展成为支持Web页中加入Javascript 或Vbscript脚本代码的网页,以便创建内容和
表现力更加丰富的HTML页面,可以让用户实现浏览器中的动态交互操作。但此时的网页仍然是静态网页,它不需要Web服务器做任何工作,Web服务器将网页传送到客户端后,由浏览器解释执行带有脚本语言的网页。但这种静态网页已经让用户感觉到网页的多姿多彩,已具有某种程度上的动态特性,而这种动态特性是基于客户端浏览器的。
随着互联网技术的不断发展以及网上信息呈几何级数的增加,人们逐渐发现手工编写包含所有信息和内容的页面对人力和物力都是一种极大的浪费,而且几乎变得难以实现。此外,采用静态页面方式建立起来的站点只能简单地根据用户的请求传送现有页面,而无法实现各种动态的交互功能。具体来说,静态页面在以下几个方面都存在明显的不足:
(1)无法支持后台数据库。随着网上信息量的增加,以及企业和个人希望通过网络发布产品和信息的需求的增强,人们越来越需要一种能够通过简单的Web页面访问服务端后台数据库的方式。这是静态页面所远远不能实现的。
(2)无法有效地对站点信息进行及时的更新。用户如果需要对传统静态页面的内容和信息进行更新或修改的话,只能够采用逐一更改每个页面的方式。在互联网发展初期网上信息较少的时代,这种做法还是可以接受的。但现在即便是个人站点也包含着各种各样的丰富
内容,因此如何及时、有效地更新页面信息已成为一个亟待解决的问题。
(3)无法实现动态显示效果。所有的静态页面都是事先编写好的,是一成不变的,因此访问同一页面的用户看到的都将只是相同的内容,静态页面无法根据不同的用户做不同的页面显示。
静态页面的上述不足之处,促使Web技术进入了发展的第二阶段即动态网页的应用。
4.2.2 动态页面
为了克服静态页面的不足,人们将传统的编程技术与Web技术相结合,从而形成新的网页开发技术,就是通过在传统的静态页面中加入各种程序和逻辑控制,实现浏览器客户端和Web服务器的动态信息交互。人们将这种使用网络编程技术创建的页面称为动态页面。
动态网页与静态网页是相对应的,也就是说,网页URL的后缀不是.htm、.html、.shtml、.xml等静态网页的常见形式,而是以.asp、.jsp、.php、.perl、.cgi等形式为后缀。不过要注意,这里说的动态网页,与网页上的各种动画、滚动字幕等视觉上的动态效果没有直接关系,动态网页也可以是纯文字内容的,也可以是包含各种动画的
内容,这些只是网页具体内容的表现形式,无论网页是否具有动态效果,采用动态网站技术生成的网页都称为动态网页。
从网站浏览者的角度来看,无论是动态网页还是静态网页,都可以展示基本的文字和图片信息,但从网站开发、管理、维护的角度来看就有很大的差别,表现在以下几个方面:
(1) 动态网页以数据库技术为基础,可以大大降低网站维护的工作量;
(2)采用动态网页技术的网站可以实现更多的功能,如用户注册、用户登录、在线调查、用户管理、订单管理等等;
(3)动态网页实际上并不是事先写好的、独立存在Web服务器上的网页文件,只有当用户请求时服务器才动态生成一个网页,并返回一个完整的网页到客户端浏览器。
动态页面生成技术主要包括CGI、ASP/ASP.NET、JSP、PHP等几种方式。
1CGI动态页面技术
公用网关接口(Common Gateway Interface,CGI)可以称之为一种机制。可以使用不同
的程序编写CGI程序,如Visual Basic、Delphi或C/C++等,将已经写好的程序编译成EXE文件放在Web服务器上运行,再将其运行结果通过Web服务器传输到客户端的浏览器上。通过CGI建立Web页面与脚本程序之间的联系,并且可以利用脚本程序来处理访问者输入的信息并据此作出响应。事实上,这样的编制方式比较困难而且效率低下,因为用户每一次修改程序都必须重新将CGI程序编译成可执行文件。
最常用于编写CGI技术的语言是文字分析报告语言(Practical Extraction and Report Language,Perl),它具有强大的字符串处理能力,特别适合用于分割处理客户端Form提交的数据串,用它来编写的程序后缀为pl。
2ASP/ASP.NET动态页面技术
ASP(Active Server Pages)是微软开发的一种类似HTML(Hypertext Markup Language超文本标识语言)、Script(脚本)与CGI的结合体,它没有提供自己专门的编程语言,而是允许用户使用包括VBScript,JavaScript等在内的许多已有的脚本语言编写ASP应用程序。ASP的程序编制比HTML更方便且更有灵活性。它在Web服务器端运行,运行后再将运行结果以HTML格式传送至客户端的浏览器。因此ASP与一般的脚本语言相比,要安全
得多。
对于广大网页制作技术爱好者来说,ASP比CGI具有的最大好处是可以包含HTML标签,也可以直接存取数据库及使用无限扩充的ActiveX控件,因此在程序编制上要比HTML方便而且更富有灵活性。
静态网页和动态网页的概念和区别
ASP吸收了当今许多流行的技术,如IIS、ActiveX、VBScript和ODBC等,是一种发展较为成熟的网络应用程序开发技术;其核心技术是对组件和对象技术的充分支持。通过使用ASP的组件和对象技术,用户可以直接使用ActiveX控件,调用对象方法和属性,以简单的方式实现强大的功能。
ASP中最为常用的内置对象包括Request对象、Response对象、Server对象、Application对象、Session对象等;常用的组件包括:Browser Capabilities(浏览器性能组件)、File System Objects(文件访问组件)、ADO(数据库访问组件)、Ad Rotator(广告轮显组件)等。
ASP技术有一个缺陷:它基本上是局限于微软的操作系统平台之上。ASP主要工作环境是
微软的IIS应用程序结构,又因Activex对象具有平台特性,所以ASP技术不能很容易地实现在跨平台的Web服务器的工作。
ASP.NET ASP的下一代版本,然而ASP.NET又并非从ASP3.0自然演化而来,也不是ASP的简单升级,而是全新一代的动态网页实现系统,是微软发展的新体系结构.NET的一部分,是ASP.NET技术的结合。提供基于组件、事件驱动的可编程Web窗体,大大简化了编程。还可以用ASP.NET建立Web服务。在许多方面,ASP.NETASP有着本质的不同。ASP.NET完全基于模块与组件,具有更好的可扩展性与可定制性,数据处理方面更是引入了许多激动人心的新技术,正是这些具有革新意义的新特性,让ASP.NET远远超越了ASP,同时也提供给Web开发人员更好的灵活性,有效缩短了Web应用程序的开发周期。ASP.NETWindows 2000 Server/Advanced Server的完美组合为中小型乃至企业级的Web商业模型提供了一个更为稳定、高效、安全的运行环境。
3JSP动态页面技术
JSP(Java Server Pages)是由Sun Microsystem公司于1999年推出的新技术,是基于Java Servlet以及整个java体系的Web开发技术。利用这一技术可以建立先进、安全和跨平
台的动态网站。
总的来讲, JSP和 微软的ASP在技术方面有许多相似之处。两者都是为基于Web应用实现动态交互网页制作提供的技术环境支持。同等程度上来讲,两者都能够为程序开发人员提供实现应用程序的编制与自带组件设计网页从逻辑上分离的技术。而且两者都能够替代CGI使Web开发变得简单与快捷。不过两者所要求的Web服务器平台要求不同。 ASP一般只应用于Windows NT/2000/XP平台,而JSP则可以不加修改地在85%以上的Web Server上运行,其中包括了NT的系统,符合“write once,run anywhere”(一次编写,多平台运行)的Java标准,实现平台和服务器的独立性,而且基于JSP技术的应用程序比基于ASP的应用程序易于维护和管理。
JSP技术具有以下的优点:
将内容的生成和显示进行分离
使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。使用JSP标识或者小脚本来生成页面上的动态内容(内容是根据请求来变化的,例如请求
账户信息或者特定的一瓶酒的价格)。生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。如果核心逻辑被封装在标识和Beans中,那么其他人,如Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的生成。
在服务器端,JSP引擎解释JSP标识和小脚本,生成所请求的内容(例如,通过访问JavaBeans组件,使用JDBCTM技术访问数据库,或者包含文件),并且将结果以HTML(或者XML)页面的形式发送回浏览器。这既有助于作者保护自己的代码,又保证任何基于HTML的Web浏览器的完全可用性。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。