教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 范文大全 > 文秘资料 >

微型Web服务器的设计与实现

来源:网络收集 时间:2026-05-26
导读: 系统分析师 国外电子测量技术 2004年第1期 设计技术 微型Web服务器的设计与实现 刘波涛 郭麦成 西南石油学院计算机科学院(610500) 摘要:微型Web服务器可以看作是由HTTP和HTML构成的,它的功能不需要很全面,但却必须 具备一个Web服务器应有的基本特征。本文指

系统分析师

国外电子测量技术 2004年第1期                          设计技术

微型Web服务器的设计与实现

刘波涛 郭麦成

西南石油学院计算机科学院(610500)

摘要:微型Web服务器可以看作是由HTTP和HTML构成的,它的功能不需要很全面,但却必须

具备一个Web服务器应有的基本特征。本文指出了在Win98系统下用Delphi6.0设计和实现一种微型Web服务器的方法,文中给出了相应的关键算法和关键结构。

关键词:微型Web服务器 Delphi6.0 超文本传输协议

DesignandRealizationofMicroWebServer

Abstract: ThemostbasicWebServeriscomposedofandfuctionsofa

microWebSeverneedn’http://www.77cn.com.cningDelphi6.0todevelopamicroAndalsoitproposesthekeyalgrithamKeywords:,引言

来描述。

  迅速发展的Web技术给Internet应用提供了一个很好的发展方向。当今的许多应用都是基于Web技术的,如电子商务、视频会议、远程医疗诊断等。在嵌入式系统的应用中,由于HTML语言的标准统一性,只要在设备里建立一个微型Web服务器,人们就可以使用现有的Web浏览器与该设备进行双向交互、接收或发送信息。因此,针对微型Web

服务器的研究和应用,具有重大的意义,它为我们管理、控制和监测各种各样的设备提供了一个很好的途径%基于Internet,也就是说,只要设备接入了Internet,我们就可以在世界上的任何地方十分方便地控制、操纵那些配备有微型Web服务器的设备。  本文就Win98系统下利用Delphi6.0如何设计、实现微型Web服务器中的主要部分作了详细的介绍。利用这种方法,可以非常容易地在嵌入式设备中建立起自己的微型Web服务器。

图1微型Web服务器的结构

  Web浏览器通常可以使用流行的IE或者其它的浏览器。服务器端的TCP/IP协议栈是操作系统内嵌的,其信息流符合HTTP协议。服务器中的HTTP引擎用来分析浏览器的请求消息,并根据请求作出相应的动作。这些动作包括向浏览器发送一些静态页面或调用一些应用服务程序。对于服务器中的静态web页面,可以使用一些常用软件如FrontPage等制作,以备Web服务器调用。而服务器中的应用服务程序则用来扩展服务器所提供的服务。  从图1中可以看出,微型web服务器的核心就是:HTTP引擎。

典型的Web服务器的模型

  一个典型的微型Web服务器的结构可以用图1

作者简介:

HTTP引擎的设计和实现

  HTTP协议是一种网络应用层的标准协议,

Web浏览器和Web服务器之间的通信都是采用HTTP协议来实现的。因此只要是符合HTTP协议的通讯过程和数据内容,就可以使用浏览器作为客户端进行连接和传递。在微型Web服务器中,为得到一个稳定的用户界面而又不影响系统有限的

  刘波涛(1980-),男,2003年毕业于江汉石油学院

计科系,现在西南石油学院计算机科学学院攻读计算机应用专业硕士学位。

—26—

系统分析师

国外电子测量技术 2004年第1期                          设计技术CPU及内存资源,必须使用HTTP1.1标准。与HTTP1.0相比较,HTTP1.1支持TCP的持续连接并可以使用管道技术,因此,它的效率较高,

并且不会造成过大的资源消耗。

  HTTP协议利用字符串的形式进行通信,将它传送的信息称为HTTP消息(HTTP2Message)。根据IETF(InternetEngineeringTaskForce)所制定的RFC(RequestForComments)2616文档中的定义,我们可以将实际过程中的HTTP消息分为两种类型:浏览器传送给服务器的请求消息(HTTPRequestMessage)和服务器传送给浏览器的响应消息(HTTPResponseMessage)。这两种消息的执行实体是不同的,响应消息由浏览器解释执行,请求消息则由服务器解释执行。  请求消息的规范格式如下:Method Request2URI

HTTP2Version       ;请求行General2Header;Request2HeaderEntity2;空行

Message2Body;消息实体  三种消息头的次序是任意的。其中,请求行必不可少,其余部分则是可选的。

  在请求行中,Method(方法)说明了在给定的资源范围内所执行的动作,如调用Web页面或请求特定的URL。常用的两种方法是GET或POST。当然还有其他的方法,这些方法在HTTP协议规定中都有说明,详细说明见RFC2616。  Request2URI(UniformResourceIdentifier)字段说明所请求的信息资源。URI称为统一资源标识符,用于标识Internet中某一主机上的某一资源的位置。一个Web页面(如http://www.77cn.com.cn/index.html),基本上就是一个指定了协议(http://)的URI。URI与通常所说的“网址”有所不同,网址是指某个网点IP地址所对应的域名(如http://www.77cn.com.cn),而URI则要进一步指明网址下的路径、网页文件名(如http://www.77cn.com.cn/index.html)、web应用程序名等信息资源。Web上每一种可用的资源如HTML文档、图像、视频片段、程序等,都要由一个唯一的URI进行标识和定位。

  HTTP2Version则指明浏览器所能支持的HTTP协议版本号,多数是1.0(由RFC1945规定)或1.1。  通用消息头、请求消息头和实体消息头的一般格式都是:field2name:field2value。它们可以由多

个字段(field)组成,每个字段占一行(用回车换行符CR/LF作为每一行的结束标志),每行由字段名和字段值组成,彼此用冒号隔开。HTTP对于每一个字段的意义及其对应的值都有详细的规定(详见RFC2616)。可供使用的字段很多,但并不是每次发送请求消息都要使用所有的字段,而是根据需要使用其中的若干个。  Web服务器的核心是HTTP引擎,其设计的重点是实现一个处理HTTP请求消息的分析模块,可以用HttpHead结构来描述HTTP请求消息,其结构设计如表1所示。  在HttpHead结构中,HTTP并定义了两种。  HTTP请求消,Htttp请求,经分析后存入HttpHead结构中的。HttpHead.Analyze的算法说明如下:

1、备份请求信息,以供后面使用2、开始分析第一行  取得客户端请求字符串的第一行的长度。  拷贝请求的第一行,以单独分析。  在请求字符串中删除请求的第一行,以便后续操作。  通过空格区分,得到请求的Method。  分析第一行Method以后的字符串。  得到第一行Method以后的字符串的长度,以空格为界。  在第一行中删除请求的第一部分,以便后续操作得到URI及HTTP版本号。  通过空格区分,得到请求的URI。这一步涉及默认路径的问题。  在第一行中删除请求的第二部分,以便后续操作得到HTTP的版本号。  通过空格区分,得到请求的Http版本号。3、循环分析余下的各行头消息,其格式相同  判断分析是否完成。请求消息的头信息以#13#10#13#10(即空行)为标志结束。  移动指针,指向下一行。  取得”:”前的请求字段名。  取得”:”后的请求字段的值。

4、当循环结束时,得到所有的请求字段及对应的值

5、分析过程结束

  HttpHead.Analyze过程将HTTP的请求消息按行分析,以回车/换行来区分请求行、通用消息

—27

系统分析师

国外电子测量技术 2004年第1期                          设计技术头、请求消息头和实体消息头,而在请求行中则以空格来区分各个字段。  表1 HttpHead结构设计

属 性

MethodURIOtherFieldsUserPasswordUsernameEncodeWayPostDataDataTypeRequstHost

  表2 SCustomSock结构

属 性

HSocketPortName

意 义

Socket句柄 …… 此处隐藏:4085字,全部文档内容请下载后查看。喜欢就下载吧 ……

微型Web服务器的设计与实现.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/fanwen/2078548.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)