1.1 Web程序设计语言的产生背景
学习目标
了解网络程序设计语言的产生背景,熟悉静态网页和动态网页的概念及Web应用程序的工作原理。
1.1.1 Web概述
在当今的信息时代,蓬勃发展的计算机技术和信息技术随着Internet的普及,又一次给社会带来了巨大的影响,Internet正在以超越几千年科学技术发展进程的速度席卷着全世界,冲击着各行各业,改变着人们的工作、学习和生活。
可以说Internet是人类历史发展中的一个伟大的里程碑,它是未来信息高速公路的雏形,人类正由此进入一个前所未有的信息化社会。人们用各种名称来称呼Internet,如国际互联网络、因特网、交互网络、网际网等,它正在向全世界延伸和扩散,不断增添吸收新的网络成员,已经成为世界上覆盖面最广、规模最大、信息资源最丰富的计算机信息网络。
对于广大用户来讲,步入Internet都是从各种网站开始的,这实际上主要应用的是Internet的WWW浏览服务,该服务仅是Internet提供的服务之一,而目前基于Internet的服务有Email、FTP、Telnet、WWW服务(信息发布和信息获取),所以说WWW服务的出现才真正迎来了网络时代!
Web全称为World Wide Web,缩写为WWW,中文译为“万维网”。简单地说,Web是一种体系结构,通过它可以访问遍布于Internet主机上的链接文档。WWW之所以能够很快风靡全世界,主要是它提供了超级文本的各种媒体文件形式,人们利用超级链接就可以方便地访问分布在世界各地的丰富网络信息资源。而从本质上讲,Web是基于客户机/服务器(Client/Server)的一种体系结构。其典型的通信过程为:客户机向服务器发送请求,要求执行某项任务,而服务器则执行此项任务,并向客户机返回响应。
1.1.2 Web应用程序的工作原理
Web是基于客户机/服务器的一种体系结构。其典型的通信过程整体可以归纳为以下几个步骤,如图1-1所示。
(1)用户在客户机浏览器输入请求的URL,并按回车键触发这个申请。
(2)如果Web服务器接收的是静态请求,Web服务器读取用户请求的静态文件,然后原样送回浏览器。
(3)如果Web服务器接收的是动态请求,于是Web服务器将会编译、执行用户请求的文件,最终得到的执行结果依然是静态HTML文件,然后服务器把执行结果静态文件送回用户浏览器。
(4)静态网页文件被用户浏览器解释,其结果将显示在用户浏览器上。
从Web服务器的角度说,一个动态文件与普通的HTML页面(静态网页文件)有着本质区别,Web服务器不经过任何处理就将静态网页文件发送到浏览器的,而动态网页文件的所有命令代码都必须被执行来生成静态网页文件再发送给浏览器。
从浏览器角度说,二者几乎没有区别,唯一不同的是扩展名不同,而用户浏览器收到的始终是一个普通的HTML页面。
1.1.3 Web程序设计语言
可以说,互联网的发展伴随着各种形式的网站的普及,而传统的静态网站因其数据信息维护烦琐,于是必须要和数据库管理相联系,连接静态网站和数据库就需要新技术来完成,而这种技术就是动态网站设计技术。目前,市场上流行的动态网站设计技术(Web程序设计语言)有4种,分别是ASP技术、PHP技术、JSP技术、ASP.NET技术,这也正是目前市场上流行的4种网络程序设计语言。
总体来讲,这4种技术的核心工作原理基本上都是一致的,符合Web程序的工作过程,即用户在客户端发出Web请求,服务器接受用户请求,并根据用户的请求作出响应,将服务器的运行结果反馈给客户端。接下来分别介绍这4种技术的具体工作过程和各自的优缺点。
ASP(Active Server Pages)技术是微软公司最早推出的绑定于微软自身操作平台(Windows平台)的动态网页制作技术。其实严格地讲,ASP不能称为计算机编程语言,只能说是微软公司开发的并且绑定于Windows平台的一个Web开发环境,此环境可以组合脚本语言命令、Web控件、标记语言、各种内外置组件和数据库技术以开发出各种形式的动态网站及Web网络管理系统、电子商务系统等。
PHP程序也是在静态网页中嵌入脚本语言命令,当然是PHP自己的命令。在PHP中大多数功能是通过不同的函数来实现的,这点不同于ASP大都是通过对象组建来实现的,但是程序代码也运行在服务器端,不受客户端浏览器的限制,这点和ASP类似。
JSP技术是用Java语言作为程序语言的,JSP网页为整个服务器端的Java库单元提供了一个接口来服务于HTTP应用程序。由于JSP页面的内置程序语言是基于Java编程语言的,而且所有的JSP页面都被编译成为Java Servlet,JSP页面就具有Java技术的所有优点,包括健壮的存储管理和安全性。
ASP.NET是Microsoft .NET框架的主打产品之一,它为易于开发的动态.NET Web应用程序提供基础结构,是目前动态网站设计技术中最新的开发技术。ASP.NET不仅是Microsoft Active Server Page (ASP)的后继产品,而且是统一的Web开发平台,为开发人员生成企业级Web应用程序提供所需的服务。ASP.NET是建立在公共语言运行库上的编程框架,可用于在服务器上生成功能强大的Web应用程序。与以前的Web开发模型相比,ASP.NET有很多优势。
总体来讲,4种技术各有各的特点和优势。ASP简单易学,比较容易入门,上手快,但是不可以跨平台。而PHP技术和JSP技术可以自由跨平台,而且页面执行效率高,只不过语法整体较为复杂。而ASP.NET技术引入了OOP,并融入了大量可用控件,开发速度比较快,模块方便封装、重用,是目前业界主流Web应用开发技术。