一种AJAX结合CGI的嵌入式瘦Web服务器的研究_第1页
一种AJAX结合CGI的嵌入式瘦Web服务器的研究_第2页
一种AJAX结合CGI的嵌入式瘦Web服务器的研究_第3页
一种AJAX结合CGI的嵌入式瘦Web服务器的研究_第4页
全文预览已结束

下载本文档

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

文档简介

中图分类号:TP393 05文献标识码:A 文章编号:1009 2552(2011)12 0063 03一种结合的嵌入式瘦服务器的研究AJAXCGIWeb张晓明,姜本臣( 沈阳工业大学信息科学与工程学院,沈阳 110870)摘 要: 针对 AJAX 与 CGI 的嵌入式瘦 Web 服务器软件结构,产生的 HTML 文件不易于维护和更新的问题,提出了建立一个 AJAX 处理机制结合 CGI 程序的嵌入式 Web 服务器软件结构。应 用 AJAX 处理机制实现了客户端校验和客户端处理,以及无刷新访问服务器端资源。实现后的嵌 入式 Web 服务器降低了嵌入式 Web 服务器开销的同时,使得页面文件易于维护和更新,是一种 既降低成本又易于维护和更新页面文件的网络服务器设计方法。关键词: 嵌入式 Web 服务器; 超文本标记语言( HTML) ;通用网关接口( CGI) ; AJAXStudy on an AJAX combined with CGI thin embedded Web serverZHANG Xiao-ming,JIANG Ben-chen( School of Information Science and Engineering,Shenyang University of Technology,Shenyang 110870,China) Abstract: In the thin embedded Web server based on AJAX and CGI,the HTML files are not easy to maintain and update A thin embedded Wed server by AJAX processing mechanism combined CGI program is proposed In the system,the client-side validation and processing,as well as the access server without refreshing are implemented with AJAX processing mechanism The embedded Web server design can save server overhead,meanwhile it is more conducive to maintain and update the Web files It is not only a low cost Web server method,but also easy to maintain and update the Web filesKey words: embedded Web server; hypertext markup language ( HTML) ; common gateway interface( CGI) ; asynchronous JavaScript and XML ( AJAX)引言随着互联网信息技术的飞速发展和应用的普 及,越来越多的信息化产品需要接入互联网通过 Web 页面进行远程访问。嵌入式 Web 系统提供了 一种经济、实用的互联网嵌入式接入方案,只需用 网上浏览器经由以太网和 TCP / IP 协议便可访问各 种信息。客户机可任意设置,只要能连上 Internet 并有权访问 Web 服务器,便可查阅有关信息,给维 护和管理工作带来很大的方便。为了充分利用有限 的资源,提高系统的性能。可以利用 AJAX 技术实 现,就是将 JavaScript 程序内嵌在网页中,不需要在 浏览器上另外安装插件,在客户端生成应用代码,而 在服务器端只是发布网页,以减少在服务器端的代 码和容量,提高服务器端的性能。这就是瘦 Web 服 务器的要求。但是这样会产生大量的代码在 HTML文件中,对于页面文件程序的维护和更新提出了挑战,尤其是在网页中需要填写多个表单的时候。在 这种背景下,需要提出一种既适合于瘦 Web 服务器 的要求,还要适用于页面的维护与更新的嵌入式 Web 服务器。0嵌入式瘦 Web 服务器的体系结构1及实现方法嵌入式瘦 Web 服务器的体系结构嵌入式 Web 服务器不能影响嵌入式系统的整 体性能,但又必须具备一个 Web 服务器应有的基本 特征。为了在嵌入式系统处理能力与资源都受限制 的情况下,尽量提高嵌入式 Web 服务器的性能,满1 1收稿日期: 2011 07 08作者简介: 张晓明( 1959 ) ,女,副教授,硕士,硕士生导师,研究方 向为实时及嵌入式系统,计算机检测控制。 63 足嵌入式系统应用的需求,采用基于 AJAX 与 CGI的瘦 Web 解决方案。采用 AJAX 和 CGI 相结合的 瘦 Web 服务器设计方法可以减少服务器端的代码 和容量,提高服务器端性能。 / HEAD BODY / BODY / HTML 1 2关键技术及实现由于 CGI 技术只提供基于页面的浏览刷新机结合处理机制的嵌入式瘦2AJAX制,这一机制在动态刷新数据时页面存在闪烁缺陷,并且整个页面的刷新会耗费处理器时间,而 AJAX 技术则发挥了客户端的能力。AJAX 技术是几种技 术的结合体,这几种技术是 JavaScript、CSS、DOM 和 XMLHttpRequest。本例中着重使用的是 AJAX 中的 JavaScript 和 XMLHttpRequest 技术。由 AJAX 实现的中间层很大程度上扩展了客户 端的可操作性。AJAX 是多种技术的集合,对于嵌 入式应用,并不需要 AJAX 的所有技术。JavaScript 作为一种脚本语言,可以很容易地嵌入到 HTML 文 件中并通过浏览器中内置的 JavaScript 解释器解释 执行。利用 JavaScript 程序,客户端可以完成本地数 据读取、解析等复杂数据操作,这样一些原先由服务 器承担的工作可以转移到客户端,利用客户端的闲 置资源进行处理,减轻服务器和网络带宽的负载。 本文将实现客户端验证和客户端处理的 JavaScript 脚本嵌入在 HTML 页面中,将其作为 HTML 文件的 一部分。 放 在 Script 与 / Script 标 签 之 间。 XMLHttpRequest 组 件 也 通 过 JavaScript 程 序 创 建 XMLHttpRequest 对象和函数的应用来实现对服务 器端数据的访问与更新。实现 JavaScript 脚本程序 的关键结构如下: HTML HEAD TITLE Embedded Web Test / TITLE Web 服务器体系结构及实现方法AJAX 处 理 机 制 结 合 CGI 程序的嵌入式瘦 2 1Web 服务器的体系结构为了尽量提高嵌入式 Web 服务器的性能,并且 使 HTML 文件方便维护与更新,满足嵌入式系统应 用的需求,本例中采用 AJAX 处理机制结合 CGI 程 序的嵌入式瘦 Web 服务器体系结构解决方案。该 方案利用在服务器中建立一个 AJAX 处理机制,主 要负责处理由 JavaScript 语言编写的应用代码实现 客户端验证,并将服务器中的 JavaScript 脚本文件下 载到客户端浏览器缓存区,服务器中的部分数据处 理内容仍然移至客户端执行,同时使用 AJAX 中的 XMLHttpRequest 组件与服务器端进行异步交互,避 免数据更新时产生整个网页的刷新。CGI 程序只是 负责从 AJAX 中的 XMLHttpRequest 组件中获取数 据,然 后 访问数据库并返回数 据。 采 用 本 文 的 AJAX 处理机制和 CGI 相结合的 Web 服务器软件结 构设计方法可以解决由于 JavaScript 脚本程序嵌入 到页面文件中而产生的页面文件可读性差,不易于 维护和更新的问题,并且符合瘦 Web 服务器构建思 想,提高服务器端性能。AJAX 处理机制结合 CGI 程序的嵌入式瘦 Web 服务器系统结构如图 1 所示。2 2关键技术及实现2 2 1AJAX 处理机制嵌入式瘦 Web 服务器的体系结构提高了嵌入 式 Web 服务器的性能,满足嵌入式系统应用的需 求。但是不难发现,JavaScript 脚本程序全部都放在 了 HTML 页面文件之中,造成了 HTML 文件的庞大 代码,产生了页面文件可读性差,不易于维护和更新 的问题,尤其是在页面文件内容繁多并且需要经常 更新的情况。为解决以上问题,本系统中在服务器 上增加了 AJAX 处理机制,如图 2 所示。本例中,JavaScript 脚本程序与 Web 服务器之间 的交互首先通过 AJAX 处理机制。该处理机制包含 script language = javascript typecript ! function checkdate( f) function calculate( ) var xmlhttp;function createXMLHttpRequest( ) Function httpStateChange( ) / / / script 64 = text / javas-由 原HTML文 件 的 一 部 分,放 在 Script 与 / Script 标签之间的程序组成,保存为 js 文件。并在文件中自己创建编写一个回调函数用来返回结 果。其功能是对用户提交的表单进行验证,验证通最后在提交按钮中触发该文件中的 sender( ) 方法: input type = button value = 提 交 onclick = sender( ) / 。2 2 2CGICGI 是嵌入式 Web 服务器的核心内容之一, CGI 功能的实现对嵌入式设备的动态数据更新以及 动态 Web 页面的生成起到关键作用。CGI 程序可 以处理 GET 请求和 POST 请求并产生对客户端请求 的应答。当 HTTP 服务器收到来自客户的请求时, 调用 CGI 程序,CGI 程序接收到的 GET 或 POST 请 求可能是浏览器端发送的对 HTML 页面的 URL 请 求,也有可能是 AJAX 引擎产生的 XMLHttpRequest 请求。CGI 程序会依照请求的内容对请求进行相应 的处理。对于浏览器发送的 POST / GET 请求; 对于客户通过 AJAX 处理机制发送的 XMLHttpRe- quest 请求; CGI 经过解析后,从嵌入式 Web 服务器 或者嵌入式数据库中获取相应数据返回给浏览器。 嵌入式 Web 服务器中 CGI 的运行过程如图 3 所示。图 1 AJAX 处理机制结合 CGI 程序的嵌入式瘦 Web 服务器系统结构模型图 2 AJAX 处理机制过将参数传递到 CGI 程序,否则要求客户重新提交表单。浏览器将 js 文件下载到本地缓存区,在客户 端本地执行,从而减少了 HTML 文件的代码,使得 HTML 文件更易于维护和更新,同时减轻服务器的 负担,提高 Web 服务器的性能。 js 文件主要代码结 构如下:图 3 CGI 工作运行对于 AJAX 处 理 机 制 发 送 的 XMLHttpRequest 请求,完成 XMLHttpRequest 与服务器端的交互,就 需要服务器处理请求并返回响应。嵌入式 Web 服 务器需要实现 CGI 来完成客户端与服务器之间的 交互。如需要访问嵌入式数据库,根据需要可在 cgi文件中调用数据库接口函数,进行数据库的访 问与读取。function createXHR( ) / / *创建异步访问对象function sender( ) 异步访问提交处理/ / *3系统实现功能和分析根据以上设计思想,本系统实现了 AJAX 处理function callbackFunction (处理 )/ / *异 步 回 调 函 数机制结合 CGI 程序的嵌入式瘦 Web 服务器的功能。实现后的嵌入式 Web 服务器除了网页的动态浏览 功能外,还利用 AJAX 处理机制,将原来嵌入到页面 中的 JavaScript 脚本程序分离出来,较好地实现了原 来 JavaScript 脚本程序所完成的客户端校验与处理、根据表单验证的需要还可以在此文件中加入function checkdate ( ) ,function calculate ( ) ,等方法。在页面文件中只需加入一行 JavaScript 脚本说明: script language = JavaScript src = xmlhttpreq js / script ,xmlhttpreq js 既是以上代码的文件名,页面的局部刷新功能,( 下转第 97 页) 65 求,例如可应用在汽车钥匙、报警系统、智能家电、电机控制等领域中。参 考 文 献:1 丁明勇 KEELOQ 技术编码 / 解码器及其应用系统设计J 渝 洲大学学报,2001,18( 2) : 46 492 Princeton PT4450 Datasheet EB / OL http: / / www princetoncom3 Princeton RX3310 Datasheet EB / OL http: / / www princetoncom4 黄彩虹,郑崇苏 基于 PIC16C57 单片机的 KEELOQ 安防系统设 计J 福州大学学报,2005,1: 38 425 石云 基于 KEELOQ 技术的车库门禁系统J 现代电子技术,2008,15: 144 1486 陈巍 无线多媒体教鞭设计J 现代电子技术,2009,24: 151 1537 Microchip Technology Inc Passive Keyless Entry ( PKE) Reference Design Users Manual EB / OL ( 2006 03 20 ) http: / / www microchip com8 胡邦南 基于 KEELOQ 跳码技术的密码发生器设计J 单片机 与嵌入式系统应用,2008,7: 69 709 Weiqiang Zhang,Qun Chen,Yingqiang Su Design of Wireless Anti Theft System Based on KEELOQ TechnologyJ IEEE 201010 Sebastiaan Indesteege,Nathan Keller A Practical Attack on Kee- LoqC 27th Annual International Conference on the Theory and Applications of Cryptographic Techniques,Turkey: 2008责任编辑:肖滨图 9 发射引脚示波器测试图 10 示波器波形扩展结束语本文以 RX3310 / PT4450 芯片为收发芯片,详细 说明了基本原理及典型应用电路,并探讨了 PCB 设 计中需要注意的技术细节。并利用滚动码加密技术 实现 PIC 无线收发设计电路,设计了基本的系统方 案,综合应用了单片机技术、无线传输技术及加密解 密技术,具有成本低廉、性能可靠的特点,并可根据 具体应用的需要增加硬件应用电路,满足不 同 的 需7櫀櫀櫀櫀櫀櫀櫀櫀櫀櫀櫀櫀櫀櫀櫀櫀櫀櫀櫀櫀櫀櫀櫀櫀櫀櫀櫀櫀櫀櫀櫀櫀櫀櫀櫀櫀櫀櫀櫀櫀櫀櫀櫀櫀櫀櫀( 上接第 65 页)并且使页面更利于维护和更新。对实际页面的分析 具有易于维护和更新的新特点。在实际页面所产生 的效果和实现的功能不变的前提下,分析在建立 AJAX 机制之前和之后的嵌入式 Web 服务器,所需 要使用的几种页面代码数量变化,如表 1 所示。AJAX 的使用较大地减少了服务器的开销,节省 CGI的处理时间。特别适用于页面需要经常变动,需要 实时更新与维护的场合。该方法符合嵌入式系统开 发过程中低成本、高可用性的要求,对于在中低端平 台上实现嵌入式 Web 服务器有较高的实用价值。 参 考 文 献:1 董炜,杨士元 嵌入式 Internet 与家庭网关技术J 计算机应用研究,2005( 6) : 222 2252 尧有平,薜小波 基于 ARM_Linux 的 SQLite 嵌入式数据库的研 究J 微计算机信息,2008,24( 22) : 64 663 基于 AJAX 与 CGI 的嵌入式瘦 Web 服务器研究J 2010,31( 20) : 4372 43744 Wang ZhenXing,Ren XianYi A study on CGI of embedded web server

温馨提示

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

评论

0/150

提交评论