Java Web学习(2):静态网页与动态网页

       一静态网页

       (1)静态网页概述

       在网站设计中,纯粹HTML(标准通用标记语言下的一个应用)格式的网页通常被称为“静态网页”,静态网页是

标准的HTML文件,它的文件扩展名是.htm、.html,可以包含文本、图像、声音、FLASH动画、客户端脚本和ActiveX

控件及JAVA小程序等。静态网页是网站建设的基础,早期的网站一般都是由静态网页制作的。

        静态网页是相对于动态网页而言,是指没有后台数据库、不含程序和不可交互的网页。静态网页相对更新起来比

较麻烦,适用于一般更新较少的展示型网站。容易误解的是静态页面都是htm这类页面,实际上静态也不是完全

态,他也可以出现各种动态的效果,如GIF格式的动画、FLASH、滚动字幕等。

       (2)静态网页介绍

       静态网页有时也被称为平面页。静态网页的网址形式通常为html(超文本标记语言)结尾 ,还有就是以超文本标

记语言(.htm、.html)、.shtml、.xml(可扩展标记语言)等为后缀的。在超文本标记语言格式的网页上,也可以出现

各种动态的效果,如.GIF格式的动画、FLASH、滚动字幕等,这些“动态效果”只是视觉上的,与下面将要介绍的动态

网页是不同的概念。静态网页面通常是超文本标记语言文档存储为文件在文件系统里头,并且可以通过HTTP访问网

络服务器。

       (3)静态网页的特点

       1)静态网页每个网页都有一个固定的URL,且网页URL以.htm、.html、.shtml等常见形式为后缀,而不含有“?”;

(动态网页中的“?”对搜索引擎检索存在一定的问题,搜索引擎一般不可能从一个网站的数据库中访问全部网页,或

者出于技术方面的考虑,搜索蜘蛛不去抓取网址中“?”后面的内容)

       2)网页内容一经发布到网站服务器上,无论是否有用户访问,每个静态网页的内容都是保存在网站服务器上的,

也就是说,静态网页是实实在在保存在服务器上的文件,每个网页都是一个独立的文件;

       3)静态网页的内容相对稳定,因此容易被搜索引擎检索;

       4)静态网页没有数据库的支持,在网站制作和维护方面工作量较大,因此当网站信息量很大时完全依靠静态网页制作方式比较困难;

       5)静态网页的交互性较差,在功能方面有较大的限制。

       6)页面浏览速度迅速,过程无需连接数据库,开启页面速度快于动态页面。

       7)减轻了服务器的负担,工作量减少,也就降低了数据库的成本。

       (4)静态网页的优点

       1)可以公开(即副本可以证明给任何人)。

       2)托管没得任何特殊的要求(不需要特殊的中间软件比如超文本预处理器、公共网关接口)。

       3)没得网络服务器或应用服务器,比如直接从CD-ROM(激光唱片-只读存储器)或USB闪存驱动器读取内容,可

以通过网络浏览器直接访问。

       4)网站更安全,HTML页面不会受Asp相关漏洞的影响;而且可以减少攻击,防SQL注入。数据库出错时,不影响

网站正常访问。

       (5)静态网页的缺点

       1)任何个性化或交互都会运行在客户端之上。

       2)没有自动化的工具,维护大量的静态页面文件是不现实的。

       3)无法充分支持用户/客户的需求(外观选择,浏览器的支持,Cookie)。

       (6)静态网页与动态网页的区别

       1)网页制作使用的制作语言:

       静态网页使用语言:超文本标记语言(标准通用标记语言的一个应用)。

       动态网页使用语言:超文本标记语言+ASP或超文本标记语言+PHP或超文本标记语言+JSP或超文本标记语言

+ASP.NET等。

       2)程序是否在服务器端运行,是重要标志。

       在服务器端运行的程序、网页、组件,属于动态网页,它们会随不同客户、不同时间,返回不同的网页, ASP、

PHP、JSP、ASP.NET、CGI等。运行于客户端的程序、网页、插件、组件,属于静态网页,例如 html 页、Flash、

JavaScript、VBScript等等,它们是永远不变的。

       (7)静态网页与动态网页的联系

       1)静态网页和动态网页各有特点,网站采用动态网页还是静态网页主要取决于网站的功能需求和网站内容的多

少,如果网站功能比较简单,内容更新量不是很大,采用纯静态网页的方式会更简单,反之一般要采用动态网页技术

来实现。静态网页是相对于动态网页而言,是指没有后台数据库、不含程序和不可交互的网页。静态网页相对更新起

来比较麻烦,适用于一般更新较少的展示型网站。

        2)静态网页是标准的HTML文件,它的文件扩展名是.htm或.html,可以包含文本、图像、声音、FLASH动画、客

户端脚本和ActiveX控件及JAVA小程序等。尽管在这种网页上使用这些对象后可以使网页动感十足,但是,这种网页

不包含在服务器端运行的任何脚本,网页上的每一行代码都是由网页设计人员预先编写好后,放置到Web服务器上

的,在发送到客户端的浏览器上后不再发生任何变化,因此称其为静态网页。静态网页是网站建设的基础,静态网页

和动态网页之间也并不矛盾,为了网站适应搜索引擎检索的需要,即使采用动态网站技术,也可以将网页内容转化为

静态网页发布。动态网站也可以采用静动结合的原则,适合采用动态网页的地方用动态网页,如果必要使用静态网

页,则可以考虑用静态网页的方法来实现,在同一个网站上,动态网页内容和静态网页内容同时存在也是很常见的事

情。

        二动态网页

        (1)动态网页概述

        动态网页是与静态网页相对应的,也就是说,网页 URL的后缀不是htm、html、shtml、xml等静态网页的常见形

式,而是以·aspx、.asp、.jsp、.php、.perl、.cgi等形式为后缀,并且在动态网页网址中有一个标志性的符号“?”。

        (2)动态网页简介

        所谓的动态网页,是指跟静态网页相对的一种网页编程技术。静态网页,随着html代码的生成,页面的内容和显

示效果就基本上不会发生变化了,除非你修改页面代码。而动态网页则不然,页面代码虽然没有变,但是显示的内容

却是可以随着时间、环境或者数据库操作的结果而发生改变的。

       值得强调的是,不要将动态网页和页面内容是否有动感混为一谈。这里说的动态网页,与网页上的各种动画、滚

动字幕等视觉上的动态效果没有直接关系,动态网页也可以是纯文字内容的,也可以是包含各种动画的内容,这些只

是网页具体内容的表现形式,无论网页是否具有动态效果,只要是采用了动态网站技术生成的网页都可以称为动态网

页。

       总之,动态网页是基本的html语法规范与Java、VB、VC等高级程序设计语言、数据库编程等多种技术的融合,

以期实现对网站内容和风格的高效、动态和交互式的管理。因此,从这个意义上来讲,凡是结合了HTML以外的高级

程序设计语言和数据库技术进行的网页编程技术生成的网页都是动态网页。

        从网站浏览者的角度来看,无论是动态网页还是静态网页,都可以展示基本的文字和图片信息,但从网站开发、

管理、维护的角度来看就有很大的差别。

        (3)动态网页的特征

        1)动态网页一般以数据库技术为基础,可以大大降低网站维护的工作量;

        2)采用动态网页技术的网站可以实现更多的功能,如用户注册、用户登录、在线调查、用户管理、订单管理等

等;

        3)动态网页实际上并不是独立存在于服务器上的网页文件,只有当用户请求时服务器才返回一个完整的网页;

       4)动态网页中的“?”对搜索引擎检索存在一定的问题,搜索引擎一般不可能从一个网站的数据库中访问全部网

页,或者出于技术方面的考虑,搜索之中不去抓取网址中“?”后面的内容,因此采用动态网页的网站在进行搜索引擎推

广时需要做一定的技术处理才能适应搜索引擎的要求。

       (4)动态网页设计新技术

        1)PHP

        即Hypertext Preprocessor,它是当今Internet上最为火热的脚本语言,其语法借鉴了C、Java、PERL等语

言,但只需要很少的编程知识你就能使用PHP建立一个真正交互的Web站点。它与HTML语言具有非常好的兼容性,

使用者可以直接在脚本代码中加入HTML标签,或者在HTML标签中加入脚本代码从而更好地实现页面控制。PHP提

供了标准的数据库接口,数据库连接方便,兼容性强;扩展性强;可以进行面向对象编程。

        2)ASP

        即Active Server Pages,它是微软开发的一种类似超文本标识语言(HTML)、脚本(Script)与CGI(公用网关

接口)的结合体,它没有提供自己专门的编程语言,而是允许用户使用许多已有的脚本语言编写ASP的应用程序。ASP

的程序编制比HTML更方便且更有灵活性。它是在Web服务器端运行,运行后再将运行结果以HTML格式传送至客户

端的浏览器。因此ASP与一般的脚本语言相比,要安全得多。

        ASP的最大好处是可以包含HTML标签,也可以直接存取数据库及使用无限扩充的ActiveX控件,因此在程序编制

上要比HTML方便而且更富有灵活性。通过使用ASP的组件和对象技术,用户可以直接使用ActiveX控件,调用对象方

法和属性,以简单的方式实现强大的交互功能。

        但ASP技术也非完美无缺,由于它基本上是局限于微软的操作系统平台之上,主要工作环境是微软的IIS应用程序

结构,又因ActiveX对象具有平台特性,所以ASP技术不能很容易地实现在跨平台Web服务器上工作。

        3)JSP 

        即Java Server Pages,它是由SunMicrosystem公司于1999年6月推出的新技术,是基于Java Servlet以及

整个Java体系的Web开发技术。

        JSP和ASP在技术方面有许多相似之处,不过两者来源于不同的技术规范组织,以至 ASP一般只应用于Windows

 NT/2000平台,而JSP则可以在85%以上的服务器上运行,而且基于JSP技术的应用程序比基于ASP的应用程序易于

维护和管理,所以被许多人认为是未来最有发展前途的动态网站技术。

        4)ASP.NET 

        ASP.NET是建立在公共语言运行库上的编程框架,可用于在服务器上生成功能强大的 Web应用程序。aspx是微

软的在服务器端运行的动态网页文件,通过IIS解析执行后可以得到动态页面,是微软推出的一种新的网络编程方法,

而不是ASP的简单升级,因为它的编程方法和ASP有很大的不同,他是在服务器端靠服务器编译执行的程序代码,

ASP使用脚本语言,每次请求的时候,服务器调用脚本解析引擎来解析执行其中的程序代码,而ASP.NET则可以使

用多种语言编写,而且是全编译执行的,比ASP快,而且,不仅仅是快的问题,而且有很多优点。

       (5)ASP.NET特点

       与以前的Web开发模型相比,ASP.NET提供了数个重要的优点:

       1)增强的性能。ASP.NET是在服务器上运行的编译好的公共语言运行库代码。与被解释的前辈不同,ASP.NET

利用早期绑定、实时编译、本机优化和盒外缓存服务。这相当于在编写代码行之前便显著提高了性能。

       2)世界级的工具支持。ASP.NET框架补充了 VisualStudio集成开发环境中的大量工具箱和设计器。WYSIWYG 编

辑、拖放服务器控件和自动部署只是这个强大的工具所提供功能中的少数几种。

       3)威力和灵活性。由于ASP.NET基于公共语言运行库,因此Web应用程序开发人员可以利用整个平台的威力和灵

活性。.NET 框架类库、消息处理和数据访问解决方案都可从 Web 无缝访问。ASP.NET也与语言无关,所以可以选

择最适合应用程序的语言,或跨多种语言分割应用程序。另外,公共语言运行库的交互性保证在迁移到ASP.NET时保

基于 COM 的开发中的现有投资。

        (6)动态网页缺点

        1)首先动态网页在访问速度上不占优势

        动态网页首先获得用户的指令,然后网页拿着指令到数据库中找和指令相对应的数据,然后传递给服务器,通过

服务器的编译把动态页面编译成标准的HTML代码,传递给用户浏览器,这样用户就看到了网页。问题出来了,每次

访问网页都要经过这么一个过程,这一过程至少需要几秒钟的时间,访问的人数一多,页面的加载速度就会变慢,对

服务器来说也是一种负担;从用户角度来说,网页加载的慢,迟迟没有反应,下次谁还会来访问你的网站。而静态网

页就简单了,静态网页是实际存在的,无需经过服务器的编译,直接加载到客户浏览器上显示出来。由此可见,动态

网页在访问速度上并不占优势。

       2)在搜索引擎收录方面并不占优势

       上面从服务器和用户体验的角度说了一下,下面再从搜索引擎收录角度说一下,动态网页是在用户输入指令后才

形成的页面,并不存在这个页面,而搜索引擎只会抓取现成的,并不会自己输入,因此网站在搜索引擎收录方面并不

占优势。搜索引擎还是喜欢静态页面。不过搜索引擎在不断完善发展。到目前为止,绝大多数的搜索引擎都已支持动

态页面的抓取。

       三静态网页与动态网页总结

       (1)静态网页

       表现形式:网页中的内容固定,不会更新。
       所需技术:HTML、CSS

       (2)动态网页

       表现形式:网页中内容通过程序动态显示,自动更新,学习制作动态网页。

       所需技术:HTML、CSS、数据库技术,至少一门高级语言(Java、C#、PHP)、JavaScript、XML等。主流的动

态网页脚本技术(JSP、ASP.NET、PHP)。

       (3)动态网页表现

       动态网页的动态指的是能与用户进行交互,比如登录时输入正确的用户名和密码,系统会提示登录成功。

       学习动态网页开发至少要掌握一门高级语言。

       动态网页的内容的显示是通过程序来实现的。

       动态网页的内容一般是从数据库里面读取出来的。

       动态网页上可以显示动态元素比如:动画,视频等,而静态网页也可以显示动态元素。这并不是区分静态网页与

动态网页的区别所在。



你可能感兴趣的:(JavaWeb,Java,Web学习之路)