第一章  概述
如今,上网已成为最热门话题,通过Internet,我们既能获取信息又能发布信息,而迅速发展的Web技术更是给Internet应用提供了一个很好的发展方向。当今的许多应用都是基于web技术的,如电子商务、视频会议、远程医疗诊断等。由于HTMI 语言的标准统一性,只要在设备里建立一个微型web服务器,人们就可以使用现有的Web浏览器与该设备进行双向交互、接收或发送信息。因此,针对微型web服务器的研究和应用,具有重大的意义,它为我们管理、控制和监测各种各样的设备提供了一个很好的途径一基于Internet,也就是说,只要设备接入了Internet,我们就可以在世界上的任何地方十分方便地控制、操纵那些配备有微型Web服务器的设备。
1.1  课题意义、目的
WWW 是 World Wide Web (环球信息网)的缩写,也可以简称为 Web,中文名字为“万维网”。它起源于1989年3月,由欧洲量子物理实验室 CERN(the European Laboratory for Particle Physics)所发展出来的主从结构分布式超媒体系统。通过万维网,人们只要通过使用简单的方法,就可以很迅速方便地取得丰富的信息资料。 由于用户在通过 Web 浏览器访
问信息资源的过程中,无需再关心一些技术性的细节,界面简单容易操作。长期以来,人们只是通过传统的媒体(如电视、报纸、杂志和广播等)获得信息,但随着计算机网络的发展,人们想要获取信息,已不再满足于传统媒体那种单方面传输和获取的方式,而希望有一种主观的选择性。现在,网络上提供各种类别的数据库系统,如文献期刊、产业信息、气象信息、论文检索等等。由于计算机网络的发展,信息的获取变得非常及时、迅速和便捷。
到了1993年,WWW 的技术有了突破性的进展,它解决了远程信息服务中的文字显示、数据连接以及图像传递的问题,使得 WWW 成为 Internet 上最为流行的信息传播方式。 现在,Web 服务器成为 Internet 上最大的计算机,可以说,Web 为 Internet 的普及迈出了开创性的一步, WWW 采用的是客户/服务器结构,其作用是整理和储存各种WWW资源,并响应客户端软件的请求,把客户所需的资源传送到Windows NT、UNIX 或 Linux 等平台上。
国际计算机互联网也称因特网(Internet),已有20多年的发展历史,它的前身是美国国防计算机互联网(ARPA),现已发展为一个全球性的计算机互联网络。该网是世界上信息资
源最丰富的计算机网络,被人们公认为是未来国际信息高速公路的雏形。 因特网上具有上万个技术资料数据库,其信息媒体包括数据、图象、文字、声音等多种形式;信息属性有数据、交换软件、图书、档案等门类;信息内容涉及通信、计算机、农业、生物、天文、医学、政治、法律、军事、音乐等各个方面。
    可以看出万维网是Internet的一部份
实际上,WWW( World Wide Web ) 是一种建立在Internet上的全球性的、交互的、动态、多平台、分布式、图形信息系统。它只是建立在Internet上的一种网络服务。它的开发最初是为了在科学家之间共享成果, 科学家们可以将科研成果以图文形式方在网上进行共享。它的最基本的概念就是Hypertext(超文本),如果你用过Windows上的任何一种在线帮助系统你就会比较了解它的结构了。 现在,WWW的应用已远远超出了原设想,成为Internet 上最受欢迎的应用之一。它的出现极大地推动了Internet的推广。
下图显示了星型和拓扑的网络连接:
本次设计就是需要完成一个简易的WEB服务器的设计,实现web服务器基本功能:      页面访问请求响应、HTML文件的解析以及数据发送。所以在完成设计之前,必须先了解WEB服务器设计的原理与结构
1.2  WEB服务器现况
 
目前在市场上有20到30种Web应用服务器,每种服务器在实现对象组件支持、 分布式计算、部署的速度和易用程度上采取了不同方式。 
      目前市场上主流Web服务器主要有以下几种产品:
1.Apache,由SUN公司开发的Apache服务器可以运行在包括Linux等多种系统平台之上。Apache支持许多特性,大部分通过编译的模块实现,如很有用的URL重写定制日志文件以及过滤支持等。
2.Zeus Webserver3.3.8 服务器,Zeus服务器在SMP (Symmetric Multi Processing的简称,意为对称多处理系统,内有许多紧耦合多处理器,这种系统的最大特点就是共享所有资源) 环境下有优秀的可伸缩性,并实现了常见的特性集合,如访问控制、动态内容产生和安全等。
3. iPlanet Enterprise Edition 4.1,Netscape公司开发的iPlanet具有现今高性能WEB服务器的特性,如具有很高的可靠性、可用性、可维护性,系统高度可扩展性等特点相对其它WEB服务器iPlanet还提供更多的JAVA功能。
4.AOLserver 3.3.1 ,AOL公司开发的AOLserver 3.3.1是一个多线程、可升级和扩展的WEB服务器。
5. Roxen WebServer 2.1.31,在Roxen中可以使用RXML语言生成动态网页内容。RXML是函数形式的服务器端XML脚本语言,它由Roxen服务器解析并执行。
6. Jigsaw,它由WWW组织(W3C)开发,W3C组织负责研究和规定网络协议的标准(如HTTP)。它使用JAVA语言开发,是成功的面向对象、功能全面的服务器。因为Jigsaw不受测试平台的限制,所以Jigsaw是一个具有活力的、拥有无限潜能的优秀WEB服务器。
在嵌入式系统的应用中,由于HTMI 语言的标准统一性,只要在设备里建立一个微型web服务器,人们就可以使用现有的Web浏览器与该设备进行双向交互、接收或发送信息。它为我们管理、控制和监测各种各样的设备提供了一个很好的途径,只要设备接入了Internet,我们就可以在世界上的任何地方十分方便地控制、操纵那些配备有微型Web服务器的设备。
在Internet上为了发布信息,用户必须运行Web服务器程序。但现成的服务器程序有时候不能满足所有人的要求,所以可以动手开发一个自己的Web服务器程序,其功能就可由设计者定制的功能和需求决定了。
1. 3  解决方案和所做主要工作
   
本次设计就是需要完成一个简易的WEB服务器的设计,实现web服务器基本功能:      页面访问请求响应、HTML文件的解析以及数据发送。所以在完成设计之前,必须先了解WEB服务器设计的原理与结构。
    一般来说,Web服务器通常由以下几个部分组成:(1)服务器初始化部分.这部分主要完成Web服务器的初始化工作,如建立守护进程、创建TCP套接字、绑定端口、将TCP套接字转换成侦听套接字,进入循环结构,等待接收用户浏览器连接.(2)接收客户端请求.由于客户端请求以文本行的方式实现,所以服务器一般也以文本行为单位接收.(3)解析客户端请求.这部分工作比较复杂,需要解析出请求的方法、URL目标、可选的查询信息及表单信息.如果请求方法为HEAD,则简单地返回响应首部即可;如果方法是GET,则首先返回响应首部,然后将客户端请求的URL目标文件从服务器磁盘上读出,再发送给客户端。 (4)发送响应信息之后,关闭与客户机的连接.
在了解WEB服务器的基本结构后,就需要更进一步了解如何实现服务器与协议的连接,那就需要用到CSOCK,这也是本次设计中的核心与重点。通过SOCKET,利用VC++编程就
能基本实现了简易的WEB服务器的设计,并能在window系统下运行良好的运行,实现web服务器基本功能:页面访问请求响应、HTML文件的解析以及数据发送。
第二章    WEB服务体系结构
2.1  WEB服务器基本构架
Web应用的基本构架包括浏览器、网络和Web服务器。浏览器向服务器请求Web页,Web页可能包括由浏览器解释执行的客户端脚本,而且可以与浏览器、页内容和页中包含的其他控件(Java Applet、ActiveX控件和插件等)进行交互。用户向Web页输入信息或通过超级链接导航到其它Web页,与系统进行交互,改变系统的“业务状态”。
2.1.1 WEB服务器和浏览器
WEB 是基于请求和响应的系统,它是在C/S(Client/Server)结构的基础上发展而来的。为了实现世界范围内的信息共享和发布,它规范了通讯协议,并规范、强化Client/Server两端的系统功能,WEB为用户在Internet上查看文档提供了一个图形化的,易于进入的界面,WEB是一种基于超文本传输协议(Hypertext Transport Potocol 简称HTTP)向计算机
传送多媒体信息(如文本、图片、声音、视频、交互式应用程序)的Internet服务。同C/S结构一样,WEB由两部分构成,即WEB服务器端和WEB浏览器端,WEB服务器的主要功能是:创建、管理和维护WEB页面,对浏览器的请求进行应答并返回HTML页,WEB浏览器(Browser)用来观看WEB资源的客户端软件,主要负责请求,解释并显示WEB页,其工作过程见图2.1。
Web浏览器通常可以使用流行的IE或者其它的浏览器。服务器端的TCP/IP协议是操作系统内嵌的,其信息流符合HTTP协议。服务器中的HTTP引擎用来分析浏览器的请求消息,并根据请求做出相应的动作。这些动作包括向浏览器发送一些静态页面或调用一些应用服务程序。对于服务器中的静态web页面,可以使用一些常用软件如FrontPage等制作,以备Web服务器调用。而服务器中的应用服务程序则用来扩展服务器所提供的服务。从图l中可以看出,微型web服务器的核心就是:HTTP引擎。
HTTP协议是一种网络应用层的标准协议,Web浏览器和Web服务器之间的通信都是采用HTTP协议来实现的。因此只要是符合HTTP协议的通讯过程和数据内容,就可以使用浏览器作为客户端进行连接和传递。
图2.1 Web工作原理
图2.1 主要过程为:
(1)WEB浏览器通过将URL发给WEB服务器请求信息;
(2)web服务器主要提供什么服务WEB服务器响应请求,并返回给客户机超文本标记语言(HTML)页面;

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