嵌入式WEB服务器boa的实现课程设计报告.docx
《嵌入式WEB服务器boa的实现课程设计报告.docx》由会员分享,可在线阅读,更多相关《嵌入式WEB服务器boa的实现课程设计报告.docx(12页珍藏版)》请在沃文网上搜索。
1、目 录一 目的与要求 11.1课程设计的目的 11.2课程设计的要求 1二课程设计的内容 12.1课程设计的内容 12.2原理和说明 22.2.1 boa简介32.2.2 cgi简介42.3 课程设计的功能分析 4三 总体设计方案 53.1系统运行环境 53.2选用工具 53.3工作原理图 53.4具体设计过程 5四 调试与测试 10五 课设总结与体会 11六 参考文献 12一 目的与要求1.1课程设计的目的开设本课程设计的目的是,通过本课程设计,提高学生的分析问题、解决问题的能力,巩固嵌入式系统的基本理论知识,进一步了解和掌握课程中所讲授的概念,方法。同时通过本课程设计,全面综合应用所学过的
2、基础知识,建立一个完整的嵌入式系统的开发过程的概念,并掌握其中的主要原理和方法。(1)提高分析问题、解决问题的能力,进一步巩固嵌入式系统中的基本原理与方法。(2)熟悉Linux数据库编程,可以进行嵌入式web服务器的建立与程序设计。1.2课程设计的要求本次课设的要求如下:1、理解Linux下的网络编程的实际意义。2、独立进行方案的制定,系统结构设计要合理。3、在程序开发时,则必须清楚主要实现函数的目的和作用,需要在程序书写时说明做适当的注释。要理解每个函数的具体意义和适用范围,在写课设报告时,必须要将主要函数的功能和参数做详细的说明。4、通过网络来检测该系统的稳定性和正确性。二 课程设计的内容
3、2.1 整个系统要完成的基本内容大致如下:1、 熟悉开发环境的网络特性,熟悉Linux下的网络编程;2、 通过CGI实现一个嵌入式web服务器;3、 阅读WEB服务器HTTP协议的基本内容,学会几个重要的网络函数的使用方法;4、 在PC计算机上使用浏览器测试嵌入式WEB服务器的功能;5、服务器可支持动态配置,可解释静态网页和动态网页;在实现整个系统的时候,必须有1、2、3、4及5中的这些基本内容,可以根据兴趣所在增加其他的内容。2.2课程设计的原理和说明随着Internet技术的兴起,在嵌入式设备的管理与交互中,基于Web方式的应用成为目前的主流,这种程序结构也就是大家非常熟悉的B/S结构,即
4、在嵌入式设备上运行一个支持脚本或CGI功能的Web服务器,能够生成动态页面,在用户端只需要通过Web浏览器就可以对嵌入式设备进行管理和监控,非常方便实用。首先需要在嵌入式设备上成功移植支持脚本或CGI功能的Web服务器,然后才能进行应用程序的开发。由于嵌入式设备资源一般都比较有限,并且也不需要能同时处理很多用户的请求,因此不会使用Linux下最常用的如Apache 等服务器,而需要使用一些专门为嵌入式设备设计的Web服务器,这些Web服务器在存贮空间和运行时所占有的内存空间上都会非常适合于嵌入式应用场合。嵌入式WEB服务器常见的有lighttpd、shttpd、thttpd、boa、matho
5、pd、minihttpd、appweb和goahead。典型的嵌入式Web服务器有Boa (www.boa.org)和thttpd (嵌入式web服务器移植配置好后,接着进行GCI程序设计。CGI(Common Gateway Interface)是外部应用扩展应用程序与WWW服务器交互的一个标准接口。按照CGI标准编写的外部扩展应用程序可以处理客户端浏览器输入的数据,从而完成客户端与服务器的交互操作。而CGI规范就定义了Web服务器如何向扩展应用程序发送消息,在收到扩展应用程序的信息后又如何进行处理等内容。通过CGI可以提供许多静态的HTML网页无法实现的功能,比如搜索引擎、基于Web的数据
6、库访问等等。HTTP协议是WWW的基础,它基于客户/服务器模型,一个服务器可以为分布在网络中处的客户提供服务;它是建立在TCP/IP协议之上的“无连接”协议,每次连接只处理一个请求。在服务器上,运行产着一个守护进程对端口进行监听,等待来自客户的请求。当一个请求到来时,将创建一个子进程为用户的连接服务。根据请求的不同,服务器返回HTML文件或者通过CGI调用外部应用程序,返回处理结果。服务器通过CGI与外部程序和脚本之间进行交互,根据客户端在进行请求时所采取的方法,服务器会收集客户所提供的信息,并将该部分信息发送给指定的CGI扩展程序。CGI扩展程序进行信息处理并将结果返回服务器,然后服务器对信
7、息进行分析,并将结果发送回客户端。外部CGI程序与WWW服务器进行通信、传递有关参数和处理结果是通过环境变量、命令行参数和标准输入来进行的。服务器提供了客户端(浏览器)与CGI扩展程序之间的信息交换的通道。CGI的标准输入是服务器的标准输出,而CGI的标准输出是服务器的标准输入。客户的请求通过服务器的标准输出传送给CGI的标准输入,CGI对信息进行处理后,将结果发送到它的标准输入,然后由服务器将处理结果发送给客户端。2.2.1 boa简介Boa 的功能实现:嵌入式 Web 服务器 Boa 和普通 Web 服务器一样, 能够完成接收客户端请求、分析请求、响应请求、向客 户端返回请求结果等任务。
8、它的工作过程主要包括:(1) 完成 Web 服务器的初始化工作, 如创建环境变量、创建 TCP 套接字、绑定端口、开始侦听、进入循环结构, 以及等待接收客户浏览器的连接请求;(2) 当有客户端连接请求时,Web 服务器负责接收客户端请求, 并保存相关请求信息;(3) 在接收到客户端的连接请求之后,分析客户端请求, 解析出请求的方法、URL 目标、可选的查询信息及表单信息, 同时根据请求做出相应的处理;(4)Web 服务器完成相应处理后, 向客户端浏览器发送响应信息, 关闭与客户机的TCP 连接。嵌入式 Web 服务器 Boa 根据请求方法的不同,做出不同的响应。如果请求方法为HEAD, 则直接
9、向浏览器返回响应首部;如果请求方法为 GET, 则在返回响应首部的同时, 将客户端请求的 URL 目标文件从服务器上读出, 并且发送给客户端浏览器;如果请求方法为 POST, 则将客户发送过来的表单信息传送给相应的 CGI 程序, 作为 CGI 的参数来执行 CGI 程序, 并将执行结果发送给客户端浏览器。 Boa 的功能实现也是通过建立连接、绑定端口、进行侦听、请求处理等来实现的。2.2.2 cgi简介概念:CGI(Common Gateway Interface)通用网关接口是HTTP服务器与你的或其它机器上的程序进行交互的一种工具,其程序须运行在网络服务器上。功能:绝大多数的CGI程序被
10、用来解释处理来自表单的输入信息,并在服务器产生相应的处理,或将相应的信息反馈给浏览器。CGI程序使网页具有交互功能,其工作原理图如下2.3课程设计所设计的的功能 经过近两个星期的课程设计,通过查找有关资料,进行课设的基本要求和需求分析另外还有程序编写调试,所实现的基本功能如下:1、 可以通过PC机使用浏览器测试嵌入式WEB服务器的功能;2、服务器可支持动态配置,可解释静态网页和动态网页;三 课程设计的总体方案3.1系统运行环境Linux vi 编辑环境 UP-TECHPXA270-S嵌入式实验平台3.2选用工具PC机windows平台虚拟机REDHAT LINUX 9.0boaARM-LINU
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 WEB 服务器 boa 实现 课程设计 报告
