嵌入式WEB服务器BOACGI
嵌入式WEB服务器:BOA+CGI 报 告 人: 李 实 * ASIPP 随着Internet技术的兴起,在嵌入式设备的管理与交互中,基于Web方式的应用成为目前的主流。原因在于: 1、不需要专用的通信线路 2、传输的信息不局限于数据信号,还有声音和图像 3、其通信协议是标准且公开的 在嵌入式设备上运行一个支持脚本或CGI功能的Web服务器,能够生成动态页面,在用户端只需要通过Web浏览器就可以对嵌入式设备进行管理和监控,非常方便实用。 一个嵌入式Web服务器不可能是很全面的,但是: 1、拥有足够小的容量 2、不影响嵌入式系统的整体性能 3、必须具备一个Web服务器应有的特征。 1、一个非常小巧的Web服务器,约60KB 2、一款单任务的HTTP 服务器, 通过建立HTTP 请求列表来处理多路HTTP 连接请求, 同时它只为CGI 程序创建新的进程, 这样就在最大程度上节省了系统资源 3、具有自动生成目录、自动解压文件等功能 因此, Boa 具有很高的HTTP 请求处理速度和效率 BOA服务器简介: BOA的功能实现: 完成Web 服务器的初始化工作 (b) 当有客户端连接请求时,Web 服务器负责接收客户端请求, 并保存相关请求信息; (c) 在接收到客户端的连接请求之后,分析客户端请求,求做出相应的处理; (d) Web服务器完成相应处理后, 向客户端浏览器发送响应信息, 关闭与客户机的TCP 连接. Boa 根据请求方法的不同, 做出不同的响应. 1、请求方法为HEAD, 则直接向浏览器返回响应首部; 2、请求方法为GET, 则在返回响应首部的同时, 将客户端请求的URL 目标文件从服务器上读出, 并且发送给客户端浏览器; 3、请求方法为POST, 则将客户发送过来的表单信息传送给相应的CGI 程序, 作为CGI 的参数来执行CGI 程序, 并将执行结果发送给客户端浏览器. BOA的移植: 1、修改Web 服务器Boa,(输入输出缓存,可以处理的HTTP 连接数量,用户必须自己实现一些函数功能) 2、交叉编译Boa 3、配置Web服务器Boa,主要在boa.conf文件中需要对其运行环境、参数等进行设置 :端口,服务器名称,文件根目录,权限等 4、测试运行 目前Web技术中生成动态Web页面的方法有CGI和服务器脚本,如JSP, ASP等,但后者需要Web服务器具有这些脚本的运行支持模块。在嵌入式Web服务器中,考虑到资源限制问题,一般都只提供CGI支持,因此在嵌入式设备中Web方式应用实际上就是基于CGI的程序开发。 #include int main(void){????????printf("Content-type: text/html\n\n");????????printf("\n");????????printf("CGI Output\n");????????printf("\n");????????printf("