(计算机系统结构专业论文)基于uclinux的嵌入式web服务器的研究与实现.pdf_第1页
(计算机系统结构专业论文)基于uclinux的嵌入式web服务器的研究与实现.pdf_第2页
(计算机系统结构专业论文)基于uclinux的嵌入式web服务器的研究与实现.pdf_第3页
(计算机系统结构专业论文)基于uclinux的嵌入式web服务器的研究与实现.pdf_第4页
(计算机系统结构专业论文)基于uclinux的嵌入式web服务器的研究与实现.pdf_第5页
已阅读5页,还剩61页未读 继续免费阅读

(计算机系统结构专业论文)基于uclinux的嵌入式web服务器的研究与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

哈尔滨下程大学硕十学位论文 摘要 嵌入式w e b 服务器是嵌入式技术和网络技术结合的产物,是嵌入式技术 网络化的一项重要应用。嵌入式w e b 服务器主要应用在远程监测和控制方 面,将w e b 服务器移植到接入网络的嵌入式设备后,客户端可借助浏览器对 远端的嵌入式设备进行监测和控制。基于t c p i p 标准协议的w e b 服务器实 现,基于h t t p 协议的b s 通信模式,基于h t m l 标准的用户控制界面,这 些都为嵌入式w 曲服务器的实现提供了便利。 嵌入式w e b 服务器不同于传统的w e b 服务器。传统w e b 服务器主要用 于处理较大的客户量同时并发访问,在硬件方面有强大的处理器和内存支持, 在软件方面有商业数据库支持。而嵌入式设备处理器能力,存储容量有限, 传统w e b 服务器一般不能在嵌入式设备上面运行,对其进行裁减来适应嵌入 式环境也比较困难。针对上述问题,本文详细论述了并发w e b 服务器的设计 方法和关键技术,并在此基础上实现了一个具有良好性能和较高安全性的嵌 入式w l e b 服务器,命名为e m b e d e r 。 本文首先论述嵌入式系统的概念和发展趋势,介绍了嵌入式w e b 服务器 和h t t p 协议、t c p i p 协议。研究了三种并发w e b 服务器的设计方法、h t t p 摘要认证、c g i 动态网页接口,在此基础上设计并实现了嵌入式w e b 服务器 e m b e d e r ,并详细论述了其实现细节。最后,研究了将自行设计的嵌入式w 曲 服务器e m b e d e r 移植到嵌入式系统仿真环境s k y e y e 的方法,并用w e b 性能 测试软件对嵌入式w 曲服务器e m b e d e r 的性能进行了测试,结果表明其具有 良好的性能和较高的安全性。 关键词:嵌入式w e b 服务器;摘要认证:u c l i n u x ;s k y e y e ; 哈尔滨一i :稃人学硕十学位论文 a b s t r a c t e m b e d d e dw e bs e r v e r ( e w s ) i sap r o d u c tc o m b i n e de m b e d d e dt e c h n o l o g y w i t hn e t w o r kt e c h n o l o g y i ti sa l li m p o r t a n ta p p l i c a t i o no fe m b e d d e dt e c h n o l o g y w i t hd e v e l o p m e n to fi n t e r n e t w i t ht h ee w so nt h ee m b e d d e de q u i p m e n ta n dt h e b r o w s e ro nt h ec l i e n te n d ,e w sc a nb eu s e dt or e m o t em o n i t o ra n dc o n t r 0 1 t h e d e v e l o p m e n to fw e b s e r v e ri sb a s e do nt h et c p i pp r o t o c o ls p e c i f i c a t i o n t h eb s c o m m u n i c a t i o nm o d e li sb a s e do nh t t pp r o t o c o ls p e c i f i c a t i o n t h er i s e ri n t e r f a c e i sb a s e do nt h eh t m ll a n g u a g es p e c i f i c a t i o n a l lo ft h e s em a k et h ed e s i g no f e w sm o r ec o n v e n i e n t e w si sd i f f e r e n tf r o mt r a d i t i o n a lw e bs e r v e r s u p o r t e db yt h es t r o n ga b i l i t i e s o fh a r d w a r e sa n dc o m m e r c i a ld a t a b a s es o f t w a r e s t r a d i t i o n a lw e bs e r v e ri su s e dt o h a n d l em i l l i o n so fr e q u e s t sf r o mc l i e n t s o nt h eo t h e rh a n d ,d u et ot h el i m i t i o no f e m b e d d e dp r o c e s s o ra n dm e m o r y , i ti sn o ts u i t a b l ef o rt r a d i t i o n a lw e bs e r v e rt ob e u s e do ne m b e d d e ds y s t e m ,a n di ti sa l s od i f f i c u l tt ob et a i l o r e df o re m b e d d e d s y s t e m 。b e c a u s eo f s u c hp r o b l e m s ,t h ed e s i g nm e t h o da n dc r i t i c a lt e c h n o l o g i e so f t h ec o n c u r r e n tw e bs e r v e ra r ed i s c u s s e di nt h i st h e s i si nd e t a i l a n do nt h i sb a s i s , ae w sw i t hg o o dp e r f o r m a n c ea n dh i l g hs e c u r i t y , n a m e de m b e d e r i sd e s i g n e d a n di m p l e m e n t e di nt h i st h e s i s f i r s to fa l l ,t h ec o n c e p to fe m b e d d e ds y s t e m sa n di t sd e v e l o p m e n tt r e n d sa r e d i s c u s s e di nt h i st h e s i s t h e n ,t h ee w sa n dh t t p p r o t o c o l ,t c p i pp r o t o c o la r e i n t r o d u c e d t h r e ed e s i g nm e t h o d so ft h ec o n c u r r e n tw e bs e r v e r , h t t pd i g e s t a u t h e n t i c a t i o n ,a n dc g id y n a m i cw e bi n t e r f a c ea r ea n a l y z e d o nt h eb a s i so f t h e m ,t h ee w ss e r v e ri sd e s i g n e da n di m p l e m e n t e d t h e n ,i t sr e a l i z a t i o n i s d i s c u s s e di nd e t a i l s f i n a l l y , t h em e t h o do ft r a n s p l a n te m b e d e rt os k y e y ei s r e s e a r c h e d t h ee m b e d e ri st e s t e dw i t hw e bt e s tt o o l s t h er e s u l t ss h o wt h a ti th a s g o o dp e r f o r m a n c ea n dh i 曲s e c u r i t y k e y w o r d s :e m b e d d e dw e bs e r v e r ;d i g e s ta u t h e n t i c a t i o n ;u c l i n u x ;s k y e y e 哈尔滨工程大学 学位论文原创性声明 本人郑重声明:本论文的所有工作,是在导师的指 导下,由作者本人独立完成的。有关观点、方法、数据 和文献的引用已在文中指出,并与参考文献相对应。除 文中己注明引用的内容外,本论文不包含任何其它个人 或集体已经公开发表的作品成果。对本文的研究做出重 要贡献的个人和集体,均己在文中以明确方式标明。本 人完全意识到本声明的法律结果由本人承担。 作者( 签字) : 日期:2 砷8 年3 月f 弓目 哈尔滨一f :挥人学硕十学何论文 第1 章绪论 1 1 课题背景 伴随着计算机技术、半导体技术的飞速发展,嵌入式系统无疑成为了当 前最热门的i t 应用领域之一。嵌入式系统的发展,从最初8 位、1 6 位微处 理器的嵌入式应用;到8 0 年代面向i o 设计的微控制器的广泛应用;再到 9 0 年代,在分布控制、柔性制造、数字化通信和信息家电等领域的巨大需求 牵引下,微控制器向着3 2 位高速智能化发展,面向实时信号处理算法的d s p 产品向着高速、高精度、低功耗不断发展。 2 l 世纪无疑是一个网络的时代,使嵌入式计算机系统应用到各类网络中 去也必然是嵌入式系统发展的重要方向。为适应嵌入式分布处理结构和应用 上网需求,面向2 l 世纪的嵌入式系统要求配备标准的一种或多种网络通信接 口。由于家用电器相互关联( 如防盗报警、灯光能源控制、影视设备和信息终 端交换信息) 及实验现场仪器的协调工作等要求,新一代嵌入式设备需具备 i e e e l 3 9 4 、u s b 、c a n 、b l u e t o o t h 或i r d a 通信接口,针对外部联网要求,嵌 入设备必需配有通信接口,相应需要t c p i p 协议簇软件支持;同时也需要提供 相应的通信组网协议软件和物理层驱动软件。为了支持应用软件特定编程模 式,如w e b 或无线w e b 编程模式,还需要相应的浏览器,如h t m l 、w m l 等。 嵌入式设备与i n t e m e t 结合,是嵌入式设备网络化的重要方式。i n t e m e t 是人类历史发展中的一个伟大罩程碑,它是未来信息高速公路的雏形,人类 正由此进入一个前所未有的信息化社会。它正在向全世界各大洲延伸和扩散, 不断增添吸收新的网络成员,已经成为世界上覆盖面最广、规模最大、信息 资源最丰富的计算机信息网络。i n t e m e t 的成就极大地推动了社会的信息化。 当前基于微处理器( m p u ) 或微控制器( m c u ) 的嵌入式系统已经在信息家 电、通信设备、消费电子、仪器仪表、数据采集和显示、过程控制、远程实 验、产品的远程管理、工业自动化、家庭自动化、智能家居系统等各个领域 得到了非常广泛的应用。嵌入式系统以m c u m p u d s p 为核心,与一些监测、 伺服、指示设备配合实现一定的功能。然而目前大量的这些8 1 6 3 2 位嵌入式 系统还没有接入i n e m e t ,仍然还是处于i n t e r n e t 之外的信息孤岛。而i n t e m e t 哈尔滨下稃大学硕+ 学何论文 现已成为社会重要的基础信息设施之一,是信息流通的重要渠道,如果嵌入 式系统能够连接到i n t e m e t ,则可以方便、低廉地将信息传送到几乎世界上的 任何一个地方。 本文就是在分析嵌入式系统网络化的重要发展趋势的背景下,选择了研 究嵌入式w e b 服务器技术。嵌入式系统与i n t e m e t 技术相结合是嵌入式系统 网络化的重要方式,而嵌入式w e b 服务器技术是实现嵌入式系统与i n t e m e t 技术相结合的一项重要技术。 1 2 研究现状 随着w e b 技术的发展,嵌入式w e b 服务器对嵌入式设备也显示出越来 越重要的作用,所以嵌入式w e b 服务器已经成为目前国内外嵌入式研究领域 的一个热点。越来越多的网络通信设备、智能家电设备、监控系统、工业控 制等设备都已经实现内置的嵌入式w e b 服务器,用户、操作人员可以直接使 用w e b 浏览器通过设备的以太网口或者其他网络端口来远程访问内置w 曲 服务器的专用网页,从而实现对设备运行状态的观察和对运行参数的配置等 功能。 嵌入式w e b 服务器的发展离不开嵌入式处理器和嵌入式操作系统的发 展。要实现嵌入式i n t e r n e t ,就需要处理性能好、功能强大、性能稳定的嵌入 式处理器和体积精巧功能强大的嵌入式操作系统来支持,国内外一些公司和 厂家都在这两方面投入了很多的努力和探索。在嵌入式处理器方面,r a b b i t 半导体公司的r a b b i t 2 0 0 0 3 0 0 0 处理器、a m d 公司的a m l8 6 系列嵌入式处 理器、m o t o r o l a 公司的m 6 8 h c 系列嵌入式处理器等等。s a m s u n g 公 司的a i 己m 系列处理器如s a m s u n g 2 4 1 0 s a m s u n g4 4 8 0 以及p h i l i p s 公 司的l p c 2 11 4 2 2 1 0 等都在嵌入式w e b 上得到应用,而且新开发的嵌入式处 理器都支持网络协议。而在嵌入式操作系统方面,w i n d e r r i v e r 公司的嵌入式 w e b 服务器软件w i n dw e bs e r v e r 用于v x w b r k 的嵌入式应用中,a l l e g r o 公 司的r o m p a g e r 是一个免特许权费用,价格适合的嵌入式w e b 服务器包,客 户可以使用通用的w e b 浏览器来管理和控制网络设备。u c l i n u x 因为其的开 源性在高校实验性项目中得到广泛应用。u c o s i i 操作系统因为源码公开、 可移植性好、裁剪灵活以及良好的实时性也受到学生及厂家的青睐p 1 。 2 哈尔滨t 程大学硕+ 学位论文 国外在嵌入式w r e b 服务器领域有较快的发展,在开源项目和商业产品方 面均有较多产品。在嵌入式w e b 服务器领域比较优秀的软件有:l i g h t t p d 、 t h t t p d 、s h t t p d 、g o a h e a d 、b o a 。其中l i g h t t p d 是一个德国人领导的开源软件, 其根本的目的是提供一个专门针对高性能网站,安全、快速、兼容性好并且 灵活的w e bs e r v e r 环境。具有非常低的内存开销,c p u 占用率低,效能好, 以及丰富的模块等特点。t h t t p d 是一个非常小巧的轻量级w e bs e r v e r ,它非常 简单,仅仅提供了h t t p 1 1 和简单的c g l 支持。s h t t p d 支持c g i ,s s l ,c o o k i e , m d 5 认证,还能嵌入到现有的软件里。s h t t p d 并不需要配置文件。由于s h t t p d 可以嵌入其他软件,因此可以非常容易的开发嵌入式系统的w e bs e r v e r 。 有些设备厂商提供专用的嵌入式w e b 服务器。像h p 公司提供了h p j e t d i r e c t 嵌入式w e b 服务器,这种打印服务器可通过支持的企业网w e b 浏览 器访问,使用户访问配置与管理页面。与此类似,还有m o t o r o l a 公司的i n s t a n t a c c e s se m b e d d e dw e bs e r v e r , x e r o xp a r c 公司的s p a r r o ww e b 服务器和 d a l l a s 半导体公司的t i n iw e b 服务器等。国内也有众多的产品,如沈阳金派 克技术开发有限公司的嵌入式w e b 服务器软件f i n e w s 。这些嵌入式w e b 服 务器大部分都是较为专用的w e b 服务器,各自的功能和性能上差异比较大睇1 。 应用方面国内外基本相近,目前主要应用于各种计算机网络设备的配置 与监控方面。有些公司已经推出了多种以不同方式连接i n t e m e t 的网络化仪 器和设备,例如a g i l e n t 公司研制出了具有w r e b 浏览器远程接入功能的逻辑 分析仪;c i s c o 公司已开始销售具备w e b 管理界面的交换机等。但是随着该 技术的成熟与发展,加之该技术的优点,这一技术必将广泛地应用于其它领 域。例如:水文资料实时监测,防洪体系及水土质量监侧,堤坝安全,地震 监测网,实时气象,水源和空气污染监测,家政系统,水、电、煤气表的自 动抄表,安全防火、防盗系统等。嵌入式w e b 服务器应用前景广泛,嵌入式 w r e b 服务器的研究和开发具有一定的迫切性和必要性h 1 。 1 3 嵌入式w e b 服务器及其应用 嵌入式w e b 服务器是针对每个嵌入式系统独特的性能和安全性等各方面 需求而进行设计开发的。它与嵌入式系统自身的特点联系紧密,所以首先简 要介绍一下嵌入式系统及其特点。 哈尔滨一i :稃人学硕十学佗论文 伴随着计算机技术、半导体技术的飞速发展,嵌入式系统无疑成为了当 前最热门的i t 应用领域之一。根据i e e e ( 国际电机工程师协会) 的定义,嵌入 式系统是控制、监视或者用于辅助操作机器和设备运行的装置。这主要是从 应用上加以定义的,从中可以看出嵌入式系统是软件和硬件的综合体,还可 以涵盖机械等附属装置。 不过上述定义并不能充分体现出嵌入式系统的精髓,目前国内一个普遍 被认同的嵌入式系统的定义是:以应用为中心,以计算技术为基础,软件硬 件可剪裁的适应应用系统对功能、可靠性、成本、体积、功耗等严格综合性 要求的专用计算机系统1 。 嵌入式技术的高速发展使计算机的分类由原来的巨型机、大型机、小型 机、微机之分,变为了通用计算机与嵌入式系统之分。嵌入式计算机系统同 通用型计算机系统相比具有以下特点: ( 1 ) 嵌入式系统通常是面向特定应用的。嵌入式c p u 与通用型的最大不 同就是嵌入式c p u 大多工作在为特定用户群设计的系统中,它通常都具有低 功耗、体积小、集成度高等特点,能够把通用c p u 中许多由板卡完成的任务 集成在芯片内部,从而有利于嵌入式系统设计趋于小型化,移动能力大大增 强,跟网络的耦合也越来越紧密。 ( 2 ) 嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个 行业的具体应用相结合后的产物。这一点就决定了它必然是一个技术密集、 资金密集、高度分散、不断创新的知识集成系统。 ( 3 ) 嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣、去除冗 余,力争在同样的硅片面积上实现更高的性能,这样才能在具体应用中对处 理器的选择更具有竞争力。 ( 4 ) 嵌入式系统和具体应用有机地结合在一起,它的升级换代也是和具 体产品同步进行,因此嵌入式系统产品一旦进入市场,具有较长的生命周期。 ( 5 ) 为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化 在存储器芯片或单片机本身中,而不是存贮于磁盘等载体中。 ( 6 ) 嵌入式系统本身不具备自举开发能力,即使设计完成以后,用户通 常也不能对其中的程序功能进行修改,必须有一套开发工具和环境才能进行 开发。 4 哈尔滨t 程大学硕十学f 7 :论文 随着因特网技术的成熟、带宽的提高,对嵌入式系统网络化、信息化的 要求日益提高。大多数的嵌入式系统没有图形接口,缺少和人交互的界面。 用户不能象在p c 上一样非常直观的去设置系统运行的参数,监视系统运行的 状态。因此迫切需要在嵌入式设备和用户之间架起一座桥梁。 嵌入式w 曲服务器( e m b e d d e dw e bs e r v e r ,e w s ) 是指将w 曲服务器引入 到嵌入式系统中,在相应的硬件平台和软件系统的支持下,使传统的嵌入式 系统转变为具备了以t c p i p 为底层通信协议,w 曲技术为核心的基于互联网 的网络嵌入式系统口1 。由于有了标准的接口形式和通信协议,内嵌于设备的 w 曲服务器可以向任何接入它所在网络的合法用户提供统一的基于浏览器方 式的操作和控制界面,浏览器成了系统与人交互的界面。由于w e b 技术的开 放性和独立平台特性,大大降低了软件系统和通信系统的设计、维护工作量, 节省了人员培训费用。基于t c p i p 标准协议的w 曲服务器实现,基于h t t p 协议的b s 通信模式,基于h t m l 标准的用户控制界面,这些都为嵌入式w e b 服务器的实现提供了便利。 目前,嵌入式w 曲服务器在远程实时监控、智能家居家庭网关、网络化 仪器等领域已存在大量应用。下面以智能家居家庭网关系统结构为例,说明 一下嵌入式w 曲服务器在嵌入式系统与i n e m e t 结合的网络化嵌入式系统中的 地位和作用。 一e t t z t t c e i p 家庭网关 各种智能冢电 图1 1 智能家居系统组成结构 在这个智能家居系统中,各种智能化家电设备通过b l u e t o o t h 通信接口进 行无线互联。智能家居家庭网关即是智能家电的总体控制部件,又是智能家 电接入i n t e m e t 的统一外部接口。智能家居家庭网关中主要分为三个功能模 块:b l u e t o o t h 协议智能家电管理模块、t c p i p 协议与b l u e t o o t h 协议转换模 块、t c p i p 协议嵌入式w e b 服务器模块。 鼠 哈尔滨丁程大学硕十学位论文 1 4 课题研究意义 嵌入式系统与i n t e m e t 结合使嵌入式系统能够方便、低廉地将信息传送 到几乎世界上的任何一个地方,这具有极其深远的意义。 本文研究了嵌入式系统与i n t e r n e t 结合实现技术中的嵌入式w e b 服务器 技术。通过研究嵌入式w e b 服务器技术,比较各种已有的嵌入式w e b 服务 器的特性,设计并实现了一个开源的通用嵌入式w e b 服务器,取名为 e m b e d e r 。e m b e d e r 可以运行于网络设备和智能家电等嵌入式系统中,使合法 用户可以远程监控设备的运行状态,以及完成系统运行参数设置工作。 w e b 技术与其它嵌入式设备通讯技术( 如:以往的控制台软件、t e l n e t 方 式、专用管理软件) 相比具有很大的优势。传统的嵌入式设备通讯一般是通过 专用通讯介质、专用通讯协议、专用软硬件进行的。这种方式资源投入大、 需要专门学习配置使用方法、传输数据单一、专用协议不具有开放性。然而, 运用嵌入式w e b 技术,在嵌入式设备中加入h t t p 服务器将其转化成w 曲 s e r v e r ,并不需要专用的通讯线路,通信介质是以太网,具有最大的普及范 围。它的传输内容不仅限于数据,还有图像、声音等多媒体信息。它采用的 h t t p 通信协议是公开的国际标准,独立于系统平台。它所使用的h t m l 超 文本标记语言具有统一性,它的标准化界面独立于客户端的软件硬件平台, 极大地节省了客户端的开发工作。它使用w e b 架构,其开放性和平台独立性 能够大大降低系统的设计工作量。 1 5 本文研究内容及论文结构 虽然当前存在许多w e b 服务器,但是,首先传统的w e b 服务器被设计 用来处理成千上万个用户对普通网站的同时并发访问。它需要强有力的数据 库作为后盾来开展内容繁多的商业服务。其设计目标和嵌入式w e b 服务器存 在明显的区别。其次,由于嵌入式设备的处理器能力和有限的存储容量,传 统的w e b 服务器并不能用来在嵌入式设备上面运行,甚至想要改造它来适应 嵌入式环境都非常困难。因此嵌入式系统的开发人员必须另外开发一个适合 于嵌入式设备的w 曲服务器。国外这方面的研究做的比较多,如开发人员将 b o a 、m i n ih t t p d 、h t t p d 等l i n u x 下的软件移植到了嵌入式操作系统u c l i n u x 中,国内也开展了广泛的研究并取得了一定的成果,但在嵌入式w e b 服务器 6 哈尔滨一r = 程人学硕十学位论文 m_ 的性能和安全性上还有一定的欠缺。本人正是要通过这一课题,来实现一个 高性能、安全的开源嵌入式w r e b 服务器。 本文的研究内容包括: ( 1 ) 嵌入式w e b 服务器软硬件平台研究。通过研究分析,采用u c l i n u x 嵌入式操作系统,a r m 微处理器,s k y e y e 软件仿真模拟平台进行e m b e d e r 的开发与测试。 ( 2 ) 并发w e b 服务器设计方法研究。分析了多进程并发、s e l e c ti o 多路 复用、多线程并发三种并发w e b 服务器设计方法。 ( 3 ) 分析开源w e b 服务器b o a 、l i g h t t p d 、a p a c h e 等的源代码。分析借 鉴成功的开发方法。 ( 4 ) r f c 2 6 1 6 、r f c 2 6 1 7 分析。其中涉及了h t t p 1 1 协议规范,h t t p 摘要认证详细内容。 ( 5 ) u n i x 程序设计和c g i 编程。使用c 语言在u i n x 环境下编程实现了 嵌入式w e b 服务器e m b e d e r 。 本文的内容组织如下: 第1 章:绪论。简要介绍课题背景,分析嵌入式系统的发展趋势,介绍 嵌入式w e b 服务器及其应用。在分析嵌入式系统网络化发展趋势的基础上, 提出本论文要解决的问题,并对研究内容和论文结构进行了说明。 第2 章:嵌入式w e b 服务器相关技术介绍。重点分析了嵌入式w e b 服 务器的软件模块结构、h t t p 协议、t c p i p 协议和s o c k e t 套接字编程。w e b 服务器就是运行在t c p i p 协议和h t t p 协议之上的。 第3 章:嵌入式w e b 服务器技术研究。本章和下一章是全文的重点。主 要研究了并发w e b 服务器设计方法、嵌入式w e b 服务器安全认证技术和动 态网页接口技术。通过研究比较确定了嵌入式w e b 服务器e m b e d e r 的设计目 标和功能特性。 第4 章:嵌入式w e b 服务器e m b e d e r 设计与实现。给出了e m b e d e r 的总 体模块结构、系统参数配置、s e l e c ti o 中心处理、h 1 v r p 引擎和c o o k i e 机制。 重点设计并实现了h t t p 摘要认证和c g i 动态网页接口。 第5 章:嵌入式w e b 服务器e m b e d e r 的移植与测试。建立软硬件测试环 境,采用a r m + u c l i n u x 组合平台,使用嵌入式系统软件仿真环境s k y e y e 模 7 哈尔滨下程大学硕十学位论文 拟器。移植u c l i n u x 和e m b e d e r 于s k y e y e 模拟的a r m 开发板中。对e m b e d e r 和b o a 进行功能、性能、安全性方面的对比测试。结果显示e m b e d e r 具有良 好的性能和可靠的安全性。 8 哈尔滨下稗大学硕十学位论文 第2 章嵌入式w e b 服务器相关技术 2 1 嵌入式w e b 服务器 嵌入式w r e b 服务器( e m b e d d e dw e bs e r v e r ,e w s ) 是指将w 曲服务器引入 到嵌入式系统中,在相应的硬件平台和软件系统的支持下,使传统的嵌入式 系统转变为具备了以t c p i p 为底层通信协议,w e b 技术为核心的基于互联网 的网络嵌入式系统嵋1 。 一 虽然当前存在许多w e b 服务器,而且有经过高度锤炼的产品a p a c h e 和 i n t e m e ti n f o r m a t i o ns e r v e r ( i i s ) 。根据n e t c r a f t2 0 0 7 年的调查,这两种w e b 服 务器就占据了9 0 的市场份额,足以证明i i s 和a p a c h e 的优秀p 1 。但是首先 传统的w r e b 服务器被设计用来处理成千上万个用户对普通网站的同时并发访 问。它需要强有力的数据库作为后盾来开展内容繁多的商业服务。其设计目 标和嵌入式w e b 服务器存在明显的区别。其次,由于嵌入式设备的处理器能 力和有限的存储容量,传统的w e b 服务器并不能用来在嵌入式设备上面运行。 甚至想要改造它来适应嵌入式环境都非常困难。 e w s 系统是建立在嵌入式系统之上的个w e b 服务器,一般由嵌入式 处理器系统、嵌入式操作系统、库函数及工具箱、w e b 服务应用程序四部分 组成p 1 ,结构如图2 1 所示。 1 底层系统支持 嵌入式微处理器和嵌入式操作系统为应用程序提供了可靠的运行平台和 安全的设备以及存储器访问接口,并形成较统一的程序开发流程和调试方式, 增强了应用程序的可移植性,减少了程序的开发周期。 2 库函数和工具箱 库函数有静态库和共享库两种,丰富的库函数和工具箱更加减化了应用 程序的开发。库函数封装了繁琐的系统调用、复杂算法处理和协议的实现细 节。使应用程序开发方便高效。 3 w e b 服务应用程序 、 w e b 服务应用程序包括两部分:h t t p 服务引擎和动态服务页面程序。 前者是w e b 服务的主体,负责与客户端通信链路的建立、请求的响应、h t t p 9 哈尔滨丁程大学硕十学何论文 图2 1e w s 系统结构 报文的解析、服务队列的处理、动态服务页面的触发、报文的回复等。动态 服务页面主要根据h t t p 服务引擎的要求处理具体事务,并且动态生成 h t m l 页面文件,并以某种方式返回客户端。目前两者实现的方式有很多种, 应用于不同的领域,性能也有所不同。当前主流的w e b 服务应用软件有 a p a c h e + p h p 、i i s + a s p 、t o m c a t + j s p 、b o a + c g i 等。其中b o a 主要 应用于嵌入式系统,其它则应用于大型的w e b 服务。 嵌入式w e b 服务器的软件系统通常包括中一i i , 处理模块、h t t p 引擎、配 置模块、安全模块、虚拟文件系统、应用程序接口。服务器的核- 1 1 , 是中心处 理模块,它进行整个系统的控制与调度,h t t p 引擎实现协议,文件系统实 现资源的存取,配置模块和安全模块实现服务器的配置与安全机制,应用程 序接口实现服务器与应用程序的交互。其软件系统模块结构如图2 2 。 l o 哈尔滨下程大学硕十学位论文 参数配赣l 安全模块 文件系统 戍削程序接门 ih 引t 擎t p 戍划程序 中心 处理 模块 图2 2 嵌入式w e b 服务器的软件系统模块结构 2 。2h t t p 协议研究 2 2 1h t t p 协议的发展与特性 h t t p 的全称是超文本传输协议( h y p t e r r t e x tt r a n s f e rp r o t o c 0 1 ) ,是使用在 服务器和客户端直接传送数据的一种协议。r f c 2 6 1 6 对h t t p 协议进行了详 细描述。h t t p 0 9 是最早的版本,它只定义了最基本的简单请求和简单回 答;h t t p 1 0 较完善,也是目前使用广泛的一个版本:h 1 v r p 1 1 增加了大量 的报头域,并对h t t p 1 0 中没有严格定义的部分做了进一步的说明。 h t t p 1 1 和h t t p 1 0 的主要区别是h t t p 1 0 协议使用非持久连接,即在非 持久连接下,一个t c p 连接只传输一个w e b 对象。h t t p 1 1 默认使用持久 连接。在持久连接下,不必为每个w e b 对象的传送建立一个新的连接,一个 连接中可以传输多个对象。h t t p 协议具有以下特点: ( 1 ) 支持客户服务器模式。 ( 2 ) 简单快速:客户向服务器请求服务时,只需传送请求方法和路径。 请求方法常用的有g e t 、h e a d 、p o s t 。由于h t t p 协议简单,使得h 1 v r p 服务器的程序规模小,因而通信速度很快。 ( 3 ) 灵活:h t t p 允许传输任意类型的数据对象。正在传输的类型由 c o n t e n t t y p e 加以标记。 ( 4 ) 无状态:h t t p 协议是无状态协议。无状态是指协议对于事务处理没 有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传, 哈尔滨t 稃人学硕十学位论文 这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前 信息时它的应答就较快。 h t t p 协议是基于请求回应机制的。客户端与服务器端建立连接后,以 请求方法、u r i 、协议版本等方式向服务器端发出请求,该请求可跟随包含 请求修饰符、客户信息、及可能的请求体( b o d y ) l 为容的m i m e 类型消息。服 务器端通过状态行( s t a t u sl i n e ) 来回应,内容包括消息的协议版本、成功或错 误代码,也跟随着包含服务器信息、实体元信息及实体内容的m i m e 类型消 息。在最简单的情况下,通过用户代理与原始服务器之间一个简单的连接就 可以完成。在i n t e m e t 上,h t t p 通讯基于t c p i p 的连接方式。缺省的端口 是t c p8 0 端口,但也可以使用其它端口p 1 。 基于h t t p1 1 协议的客户机与服务器的信息交换过程,如图2 3 所示: 图2 3 客户机与服务器的信息交换 ( 1 ) 建立t c p 连接。该连接是通过使用t c p 协议来完成的,浏览器得到 需要的u r l ,并通过d n s 解析成目标服务器的i p 地址,再利用t c p 协议建 立与远程主机的连接。一旦t c p 连接建立,h t t p 服务就可以开始了。 ( 2 ) 客户端发送请求。在建立连接后,客户机会往服务器正在侦听的端口 发送请求消息,完成提出请求动作。 ( 3 ) 服务器进行响应。服务器在处理完客户的请求之后,要向客户机发送 响应消息。 ( 4 ) 关闭连接。客户和服务器都可以通过关闭套接字结束t c p i p 对话。 通常h 1 v r p 消息包括客户机向服务器的请求消息和服务器向客户机的响 应消息。这两种类型的消息均由个起始行,一个或者多个头域,一个指示 头域结束的空行和可选的消息体四部分组成。 1 2 哈尔滨:r 程大学硕十学位论文 起始行 头域 空行 消息体 图2 4h t t p 消息结构 2 2 2h t t p 协议请求消息 请求消息的第一行为下面的格式: m e t h o ds p r e q u e s t - u r i s ph t t p v e r s i o nc r l f m e t h o d 表示对于r e q u e s t u r i 完成的方法,这个字段是大小写敏感的, 在h t ,r p 1 1 中有八种请求方法( r e q u e s tm e t h o d ) :g e t 、p o s t 、p u t 、 d e l e t e 、h e a d 、t r a c e 、o p t i o n s 、以及c o n n e c t ,而h t t p 1 0 只 定义t - - 种方法( g e t 、h e a d 、以及p o s t ) 一1 。目前主流的w ,e b 服务器和客 户端都遵循了h 1 v r p 1 1 的要求,实现了八种请求方法( r e q u e s tm e t h o d ) 。嵌 入式w e b 服务器e m b e d e r 中实现了常用的g e t 、p o s t 和h e a d 方法。g e t 方法取回由r e q u e s t u r i 标识的信息。h e a d 方法也是取回由r e q u e s t u r i 标识的信息,只是可以在响应时,不返回消息体。p o s t 方法可以请求服务 器接收包含在请求中的实体信息,可以用于提交表单,向新闻组、b b s 、邮 件群组和数据库发送消息。 s p 表示空格。 r e q u e s t u r i 遵循u r i 格式,在此字段为星号( 木) 时,说明请求并不用于 某个特定的资源地址,而是用于服务器本身。 h 1 v r p v e r s i o n 表示支持的h t t p 版本,例如为h t t p 1 1 。 c r l f 表示换行回车符。 哈尔滨t 稃人学硕十学位论文 典型的请求消息: g e t h t t p :c l a s s d o w n l o a d m i c r o t 0 0 1 d e :8 0 s o m e d a t a e x e h o s t :d o w n l o a d m i c r o t 0 0 1 d e a c c e p t :7 幸 p r a g m a :n o c a c h e c a c h e c o n t r o l :n o c a c h e r e f e r e r :h t t p :c l a s s d o w n l o a d m i c r o t 0 0 1 d e u s e r - a g e n t :m o z i l l a 4 0 4 e n ( w i n 9 5 ;i ;n a v ) r a n g e :b y t e s 2 5 5 4 5 5 4 - 上例第一行表示h t t p 客户端( 可能是浏览器或下载程序) 通过g e t 方法 获得指定u r l 下的文件。其中h o s t 、a c c e p t 、r e f e r e r 、u s e r - a g e n t 、r a n g e 为请求头域,p r a g m a 、c a c h e c o n t r o l 为通用头域。 h o s t 头域指定请求资源的i n t e n e t 主机和端口号,必须表示请求u r l 的 原始服务器或网关的位置。h t t p 1 1 请求必须包含主机头域,否则系统会以 4 0 0 状态码返回。 r e f e r e r 头域允许客户端指定请求u r i 的源资源地址,这可以允许服务器 生成回退链表,可用来登陆、优化c a c h e 等。它也允许废除的或错误的连接 由于维护的目的被追踪。如果请求的u r i 没有自己的u r i 地址,r e f e r e r 不 能被发送。如果指定的是部分u r i 地址,则此地址应该是一个相对地址。 r a n g e 头域可以请求实体的一个或者多个子范围。 u s e r - a g e n t 头域;u s e r - a g e n t 头域的内容包含发出请求的用户信息。 2 2 3h t t p 协议响应消息 响应消息的第一行为下面的格式: h t t p v e r s i o ns ps t a t u s c o d es pr e a s o n p h r a s ec r l f h t t p v e r s i o n 表示支持的h 1 v r p 版本,例如为h t t p 1 1 。 s t a t u s c o d e 是一个三个数字的结果代码。 r e a s o n p h r a s e 给s t a t u s c o d e 提供一个简单的文本描述。s t a t u s c o d e 主 要用于机器自动识别,r e a s o n p h r a s e 主要用于帮助用户理解。s t a t u s c o d e 的 第一个数字定义响应的类别,后两个数字没有分类的作用。第一个数字可能 取5 个不同的值: l x x :信息响应类,表示接收到请求并且继续处理。 1 4 哈尔滨下程大学硕十学位论文 2 x x :处理成功响应类,表示动作被成功接收、理解和接受。 3 x x :重定向响应类,为了完成指定的动作,必须接受进一步处理。 4 x x :客户端错误,客户请求包含语法错误或者是不能正确执行。 5 x x :服务端错误,服务器不能正确执行一个正确的请求。 响应头域允许服务器传递不能放在状态行的附加信息,这些域主要描述 服务器的信息和r e q u e s t u r i 进一步的信息。晌应头域包含a g e 、l o c a t i o n 、 p r o x y a u t h e n t i c a t e 、p u b l i c 、r e t r y - a f t e r 、s e r v e r 、v a r y 、w a r n i n g 、 w w w - a u t h e n t i c a t e 。对响应头域的扩展要求通讯双方都支持,如果存在不支 持的响应头域,一般将会作为实体头域处理。典型的响应消息: h t t p 1 02 0 0o k d a t e :m o n ,31 d e c 2 0 0 1 0 4 :2 5 :5 7 g m t s e r v e r :a p a c h e 1 3 1 4 ( u

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论