第1章 ASP.NET概述
学习提示
本章以3个任务为线索,介绍了ASENET所涉及的基本概念、程序结构和开发环境,涉及的问题和概念非常多,在本章中,建议读者**掌握简单的ASENET程序结构和开发方法,其他细节问题可留待后面的章节解决。
在本书的叙述中会大量涉及具体操作,在描述具体操作的过程时做如下约定:将涉及的操作对象用“【】”符号括住,如单击【开始】按钮打开Windows开始菜单,若在符号“【】”前没有特别说明表示“单击”,即【开始】等同于单击【开始】菜单。用符号“→”表示下一步,如【开始】→【程序】。
ASP.NET是一种功能强大的用于创建��态Web页面的服务器端技术,是目前三种主要的动态Web页面设计技术之一,另外两种分别是JSP(Java Server Pages)和PHP(Hypertext Preprocessor),三种技术各具特色。
ASP.NET是Microsoft公司推出的新一代软件开发平台.NET的组件之一,它集中体现了Microsoft软件产品一贯的功能强大、用户界面友好、相关资源丰富的特点。
1.1 基本概念
1.1.1 B/S和C/S结构
所有基于网络的应用系统都会涉及服务器端和客户端两方面的程序设计工作,依据客户端使用方式的不同,可以将网络应用系统分为两大体系,即B/S结构体系和C/S结构体系。B/S结构是浏览器/服务器Browser/Server)结构,C/S结构是客户机/服务器
(Client/Server)结构。
C/S结构体系是为服务器端和客户端分别开发一个应用程序,在使用时,用户需要将客户端程序首先安装到客户端上,用户要访问服务器端的程序和资源时,必须要通过客户端程序。目前广泛使用的QQ软件就是一个典型的C/S结构的网络应用系统。
B/S结构体系是仅为服务器端开发一个应用程序,在客户端用浏览器作为客户端程序。显然,由于使用浏览器作为客户端应用程序,使用者无须下载和安装客户端软件,也无须学习新软件的使用方法就可以使用基于B/S结构的应用系统,这给***和使用者都带来了极大的方便。
C/S结构和B/S结构各具特点,C/S结构可以使应用系统功能更强大,效率更高;而B/S结构使用更方便,两者的开发方法和开发工具也不尽相同,就目前的应用情况看,B/S结构体系是应用的主流。
本书介绍的ASRNET+SQL Server组合是一种典型的B/S结构体系的开发工具。
1.1.2 静态网页和动态网页
1.1.2.1 静态网页
网页可以分为静态网页和动态网页两类,静态页面完全是由HTML(Hyper Text Markup Language,超文本标记语言)代码构成的,在浏览者访问静态网页之前,网页的创建者已经用HTML代码完全确定了页面要显示的内容。
网页创建者可以通过各种文本编辑器,来编写HTML代码,如Windows中的记事本,以扩展名.htm或.html来保存文件即可生成静态网页。HTML语言的语法规则非常简单,具体规则请参见附录8。
静态网页也有专门的制作工具,如Micromedia公司的Dreamweaver和Microsoft公司的FrontPage等,Dreamweaver和FrontPage都被视为是所见即所得的、功能强大的HTML代码生成器。
1.1.2.2 动态网页
动态网页是指浏览者所访问的网页根据客户端请求的情况即时动态地生成所需网页。在动态网页中,通常会包含HTML代码和指令代码。动态网页也可以分为两种模式,即所谓的基于客户端的动态网页和基于服务器的动态网页。
1. 客户端模式
在客户端模式中,Web服务器根据客户端的请求将相应的HTML和指令代码发送到客户端,附加在客户端浏览器上的指令处理模块处理这些HTML和指令代码,并将其转换为纯HTML代码,交由浏览器显示。
支持客户端模式的主要技术有JavaScript、VBScript、Java小应用程序以及Flash等。在客户端模式中,能使用何种技术要取决于浏览器上所附加的指令处理模块。
JavaScript、VBScript都是脚本语言,Netscaps公司的Navigator浏览器和3.0版本以后的IE浏览器均支持JavaScript。VBScript是Microsoft公司推出的脚本语言,能被IE浏览器很好地支持。
IE和Navigator浏览器均通过Java虚拟机(Java Virtual Machine,JVM)的方式来支持Java小应用程序。
Flash也有比较强的交换能力,其使用的Action Script语言和JavaScript非常类似,IE和Navigator浏览器都是通过附加Flash插件的方式实现对Flash的支持。
由于工作机理所限,客户端模式存在着一些固有缺陷,主要表现在两个方面:**,在设计网页时需要考虑客户端浏览器的情况;第二,当涉及使用服务器资源的代码时,由于这些代码要在客户端被解释执行,会暴露给客户端用户,存在**隐患。
2. 服务器端模式
在服务器端模式中,Web服务器根据客户端的请求处理动态网页所包含的HTML和指令代码,生成纯HTML代码,然后将纯HTML代码发送到客户端,由客户端浏览器显示。显然该模式从根本上解决了客户端模式下存在的问题,该模式也成为动态网页设计的主流模式。
目前,支持服务器端模式的主要技术有ASP、JSP、PHP等。这三种技术各具特点,ASP.NET可视为ASP的*新版本,是Microsoft公司.NET阵营中的主要成员之一;JSP是SUN公司J2EE阵营中的一个主要成员。上述两个阵营代表程序设计技术发展的主要方向,AS P.NET和JSP也成为动态网页设计的主流。
PHP是一种免费的、源代码开放的、具有很好跨平台特性的动态网页设计技术。PHP+Linux+MvSQL可以构成完全免费而且非常稳定的应用开发平台,该组合一度非常流行,但也正是由于其是免费的,没有很好的技术支持,更新速度比较慢,现在已渐渐淡出开发领域。
1.1.3 Web服务器的概念
在基于B/S结构的应用系统中,所有程序和数据都被置于Web服务器之上,显然Web服务器的性能有着举足轻重的作用。
一般讲Web服务器有两重含义,**是指在网络上提供Web服务的计算机,此时Web服务器的概念包括硬件和软件两部分;第二是指处于网络操作系统之上的,专门用于提供Web服务的软件。本书中提到的Web服务器是指后者。
目前市场上可以选择的Web服务器产品有十几种之多,其中比较**的有Apache和IIS Web服务器。
Apache是一款使用广泛、品质**的Web服务器,在Web服务器领域处于领导地位,是UNIX和Linux平台下**的Web服务器。IBM和HP公司的操作系统都捆绑了Apache作为其W曲服务器组件。
IIS(Internet Information Server)是Windows操作系统的组件之一,理所当然地成为Windows平台下**的Web服务器,IIS提供了强大的Internet和Intranet服务功能,IIS除可提供Web服务外,还可以提供诸如FTP服务、NNTP服务、SMTP服务等其他一些服务。
本书使用Windows 2000作为操作系统平台,以IIs作为Web服务器。
1.1.4 HTTP协议
HTTP(Hypertext Transfer Protoc01)协议即超文本传输协议,是Web服务的基础。该协议属于TCP/IP协议族中的应用层协议,主要用于Web浏览器和Web服务器之间的超文本传输,是使用*广泛的应用层协议之一。
HTTP于1990年提出,经历了不断的使用与发展,目前广泛使用的是HTTP1.0的第六版。HTTP 1.1的规范工作也在进行之中,部分Web服务器和浏览器也开始支持HTTP1.1,如IIS就支持HTTP1.1协议。
HTTP协议使用TCP连接,是一个支持客户机/服务器模式,具有简单**、灵活性好、无连接、无状态等特点的应用层协议。
在HTTP协议环境下,客户端向服务器请求服务时只需传送请求方法和路径。常用的请求方法有GET、HEAD、POST,多种方法的使用使客户端与服务器间可以用不同的方式联系。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。
HTTP允许传输任意类型的数据对象,所传输的数据类型由Content—Type加以标记。
HTTP每次连接只处理一个请求,服务器处理完客户的请求并收到客户的应答后即断开连接,这种方式称为无连接,采用无连接方式可以节省传输时间。
HTTP是一个无状态协议,它不对已处理的事务进行记忆。在服务器不需要前面信息的情况下,无状态协议的应答较快,但如果后续处理需要前面的信息则必须重传,这样可能导致每次连接传送的数据量增大。
有关HTTP协议的详细内容读者可以参阅RFC 1945或文献[1]。
……