嵌入式设备web服务器

  • 时间:
  • 浏览:1

Boa设计主要出于传输下行速率 和安全,是指不被恶意用户暗中破坏,而就有指它有很好的访问控制和通信加密。要能去掉 SSL来保证数据传输中的保密和安全。

1.介绍

现在的嵌入式linux中CGI系统程序主要使用C语言。对于编写C语言的CGI系统程序,要能编写好系统程序就让,在linux操作系统下编译,用针对硬件平台的linux的交叉编译工具编译就要能,写的html网页界面在记事本写即可。我就让写的CGI系统程序只要在此环境下写的。这也是最普遍的开发方法。

    根据上方的分析,考虑到使用范围宽广程度,在小型服务器、暂且求太强功能,推荐取舍boa、thttpd,实在它们足要能满足大多数状态下的需求,也是使用最广、可参考最多的嵌入式web服务器。不可能 要求强大的功能,支持javastript等,推荐取舍goahead、appweb。

· 很小的内存消耗

· 它基本上属于4个 多HTTP1.0标准的WEB服务器,对什么都有有HTTP1.1的形状如(持久连接)也提供了支持。每秒65次connections

appWeb一种许可,一种是GPL,免费的,另外一种是商业许可,有400天的试用期。免费的版本在http://www.appwebserver.org/ 下载,appWeb的商业版本由Mbedthis公司发布和维护,网址是 http://www.mbedthis.com/。appweb 是下一代嵌入式web服务器,它天生是为嵌入式开发的,它的最初设计理念只要安全。Appweb是4个 多快速、低内存使用量、标准库、方便的服务器。与其它嵌入式web服务器相比,appweb最大特点只要功能多和角度的安全保障。Appweb简单、方便、开源。

便携:它要能在大帕累托图的类Unix系统上运行,包括FreeBSD, SunOS 4, Solaris 2, BSD/OS, Linux, OSF等等 

快速:它的传输下行速率 要超过主流的Web服务器(Apache, NCSA, Netscape),在高负载状态下,它要快的多。 

安全:它努力的保护主机不受到攻击,不中断服务器

自 4004 年 2.18 版就让, GoAhead 官方不再对它免费许可的升级和支持,不可能 是学习和研究之用, 移植很方便, 暂且关心太满; 不可能 商用, 哪些地方地方已知的 bug 就需要手工去改,包括对 cgi 的支持, 对操作系统差异而引用的 bug,参考下这些 http://www.eybuild.com/develop/demoshow.htm ,这些 只要用的 GoAhead。

支持CGI, SSL, SSI, MD5验证, resumed download, aliases, inetd模式运行

· 安全。支持SSL、认证。

Shttpd,开源。它是另4个 多轻量级的web server,具有比thttpd更丰沛 的功能形状,支持CGI, SSL, cookie, MD5认证, 还能嵌入(embedded)到现有的软件里。最有意思的是需要配置文件!不可能 shttpd要能轻松嵌入什么都有有系统程序里,因此shttpd是较为理想的web server开发原形,开发人员要能基于shttpd开发出买车人的webserver,官方网站上称shttpd不可能 使用uclibc/dielibc(libc的繁复子集)则开销将非常非常低。

· 要能使用传统的C语言编程定制Web页面里的HTML标签

网上查询结果是有关内容很少。使用范围不广。有女女明星微博 对它的评论是:shttpd功能算是比较全的, 但在外理二进制数据时过高 稳定, 时有异常. 有待观察。

· 支持嵌入式JavaScript,esp,egi,cgi和php。.

但缺点是,CSP/eybuild就有4个 多开源的项目,不可能 你是买车人使用或出于学习、研究目的让他从eybuild的官方站点http://www.eybuild.com 免费下载,或发邮件到 eybuild@hotmail.com 免费索取。它的站点要里能 下载针对x86、arm920T的CSP/eybuild开发平台,其它平台需要向网站上定购。不可能 你想在你的嵌入式设备的开发板上试用或出于学习和研究目的,你也可把您目标板及编译环境的详细资料发给eybuild@hotmail.com,请求为你的目标板单独制作一份交叉编译开发的CSP/eybuild平台。不可能 你想你的商用产品或项目中使用CSP/eybuild,你需要在CSP/eybuild的商用授权后才可使用。商用授权后您将要能得到很好的技术支持和技术培训。关于商用授权的详细流程,可邮件至eybuild@hotmail.com 垂询。

四,参考文件1,http://blog.csdn.net/newnewman400/article/details/840095400

2.特点、功能

简单:它要能支持HTTP/1.1协议标准,不可能 超过了最低水平 

小巧:它具有非常少的运行时间,不可能 它不fork子系统程序来接受新请求,因此非常谨慎

· 独特的URL分析器

标准日志格式

支持GET, POST, HEAD, PUT, DELETE 等方法

    Lighttpd使用的不广泛,在google中搜索:嵌入式 lighttpd,结果几乎越来越相关的内容。Lighttpd使用内存比其它小型嵌入式web服务器内存资源要多。毕竟它就有专为嵌入式设备开发的。 

2.可执行文件大小、内存使用状态

官方网站:http://shttpd.sourceforge.net/ 

Boa诞生于1991年,作者Paul Philips。是开源的,应用很广泛,有点适合于嵌入式设备,网上流行程度很广。它的官方网站说boa是最受人喜爱的嵌入式web服务器。功能较为强大,支持认证,cgi等。Boa 是4个 多单任务的HTTP SERVER,它不像传统的web服务器那样为每个访问连接开启4个 多系统程序,只要会为多个连接开启多个自身的拷贝。Boa对所有的活动的http连接在外部进行外理,因此只为每个CGI连接(独立的系统程序)开启新的系统程序。因此,boa在同等硬件条件下显示出调快的传输下行速率 。测试表明boa在Pentium 400MHZ下要能每秒钟外理几千次点击,在20 MHz 386/SX下要能每秒钟外理几十次点击访问。

容易定制运行在任意平台:Windows, QNX, RTEMS, UNIX (*BSD, Solaris, Linux)

编译后的可执行的二进制文件为40kB左右.

l 灵活的开发环境。Appweb角度模块化,要能根据需要取舍。

Boa和thttpd等,与apache等高性能的web服务器主要区别是,它们一般是单系统程序的服务器,不到在完成4个 多用户请求不会能响应另4个 多用户的请求,无法并发响应,但这在嵌入式设备的应用场合里不可能 足够了。

特点:

GoAhead官方网站:http://webserver.goahead.com/

的分配内存

具有的功能:

Lighttpd是4个 多德国人领导的开源软件,历时不到三年。其根本的目的是提供4个 多专门针对高性能网站,安全、快速、兼容性好因此灵活的web server环境。具有非常低的内存开销,cpu占用率低,效能好,以及丰沛 的模块等特点。lighttpd 是众多OpenSource轻量级的web server中较为优秀的4个 多。支持FastCGI, CGI, Auth, 输出压缩(output compress), URL重写, Alias等重要功能,而Apache未必流行,很大程度也是不可能 功能丰沛 ,在lighttpd上什么都有功能就有相应的实现了,这点对于apache的用户是非常重要的,不可能 迁移到lighttpd就需要面对哪些地方地方难题。实用起来lighttpd实在非常不错,apache主要的难题是密集并发下,不断的fork()和切换,以及较高(相对于 lighttpd而言)的内存占用,使系统的资源几尽枯竭。而lighttpd采用了Multiplex技术,代码经过优化,体积非常小,资源占用很低,因此反应传输下行速率 相当快。利用apache的rewrite技术,将繁重的cgi/fastcgi任务交给lighttpd来完成,充分利用两者的优点,现在那台服务器的负载下降了4个 多数量级,因此反应传输下行速率 也提高了4个 多甚至是4个 多数量级!lighttpd 适合静态资源类的服务,比如图片、资源文件、静态HTML等等的应用,性能应该比较好,一起也适合简单的CGI应用的场合,lighttpd要能很方便的通过fastcgi支持php。

使用内存很少,没查到具体的数据。

· 支持安全的通信,同类SSL(安全的套接字层)

对于用C语言编写CGI系统程序还要能使用CSP/eybuild提供的平台库及其开发套件,它要能将CGI系统程序嵌入式到网页中,要能提高开发传输下行速率 。传统用C做CGI的方法是直接使用printf() 等标准I/O函数输出HTML代码,另4个 多不但使得C系统程序和HTML系统程序交织的混乱不堪,还使得页面输出的流程控制变得非常繁复。CSP与之不同,它充分吸取了ASP/JSP/PHP等以HTML/ XML为模板嵌入脚本语言优点,并充分融合C语言的语言形状。使得CSP的开发调快速、更高效,一起还大大提了最终代码的可读性和维护性。 CSP设计的最原始的初衷,只要要为嵌入式开发定制的一套同类 ASP/JSP/PHP的C语言开发工具。针对设备WEB开发CSP提供了丰沛 的平台库和开发工具,它们为设备系统的WEB交叉开发和移植提供了有力的支持。通过交叉开发,要能在其它硬功件平台详细未准完毕的状态下进行高层软件的开发。这不仅能为产品开发有效地节约软硬件资源,还为WEB系统程序提供简单有效地调试工具。

l 可靠性

1.介绍

三,结论

1.介绍

功能、特点

用C语言编写CGI与其它语言编写CGI的比较:

人员在编程时具有很大的灵活性,要能设计出买车人风格的系统程序。不像UNIX SHELL、Perl和TCL,C语言是一种编译语言,源系统程序代码要被系统的续译器翻译成机器能直接执行的二进制代码,因此用C语言编写的CGI系统程序的运行传输下行速率 要比用解释性语言编写的系统程序快。使用编泽语言的另4个 多好处是即使CGI执行系统程序陷入黑客之手,朋友也无法像分析用解释性语言编写的CGI系统程序那样找到系统程序中的漏洞。不可能 C语言最初是针对系统设计的,这使得C语言的字符串外理能力比较差,不可能 CGI系统程序需要对字符串进行什么都有有繁复的操作,用C诺言实现起来将比较麻烦,代码量也较多。现在网上用C语言编写的CGI系统程序仅次于Perl(Perl编写系统程序简单方便)。

· 支持认证功能Digest Access Authentication (DAA)

AppWeb提供的什么都有有关键好处:

l 最小的资源需求。一秒能响应34000个请求,非常很慢,因此紧凑(110KB)。

对库dietlibc 支持友好,对uClibc (*)不友好。

内存需求400K,它的WIN CE版本编译后的大小还不到400k。

GoAhead Webserver是为嵌入式实时操作系统(RTOS)量身定制的Web服务器。它的目标也许找不到于目前的WEB服务器市场,只要面向当嵌入式系统深入朋友的工作和生活的明天,那时,它也许会成为使用最广泛的WEB服务器。GoAhead Webserver构建在设备管理框架(Device Management Framework)之上,用户要能像标准的Web Services一样来部署买车人的应用,需要额外的编程。GoAhead Webserver支持SOAP客户端(Simple Object Access Protocol,简单对象访问协议),XML-RPC客户端,各种Web浏览器和单独的Flash客户端。GoAhead Webserver支持一种类ASP的服务器端脚本语言,其语法形式和微软的ASP语法基本相同(Active Server Page)。GoAhead Webserver是跨平台的服务器软件,要能稳定地运行在Windows,Linux和Mac OS X操作系统之上。GoAhead Webserver是开放源代码的,这原因让他随意修改Web服务器的功能。这款WEB服务器非常小巧,它的WIN CE版本编译后的大小还不到400k,它的输出通常也是面向什么都有有小屏幕设备。在性能方面,使用一颗24MH z的640040外理器,它的响应传输下行速率 为20次/秒,使用266MHz的Pentium外理器要能达到400次/秒的响应传输下行速率 。

thttpd,适合静态资源类的服务,比如图片、资源文件、静态HTML等等的应用,性能应该比较好,一起也适合简单的CGI应用的场合。

l 低开发成本。支持cgi/1.1、javastript、esp、php(4and5),加快开发进度。

最新的apache版本是httpd-2.2.4.tar,6.07MB,解压后为27.2MB,在嵌入式web服务器中很少使用,在网上搜索看得人许多人在vxwork上用过apache,在其它方面越来越,我认为,goahead、appweb具有丰沛 的功能,越来越使用apache的必要。另4个 多原因是不可能 apache是4个 多多系统程序web服务器,使用的内存什么都有。

不可能 apache的prefork工作模式有关。每个apache系统程序不到一起服务于4个 多http连接。这些 模式好处在于每个系统程序不互相干扰,稳定性好;缺点也建立在优点之上,只要占用资源多,即使每个系统程序只使用2M内存(不可能 使用了php,这点内存根本过高 ),400的并发连接就用掉400M的内存。

二,开发语言和开发工具

1.介绍

Boa有为宜的资源需求。非常少的内存需求,能耗很小。 有点适合于嵌入式市场。含有gcc 2.95.3和 GNU libc 2.2.5的boa的二进制文件大小为61K( 495K statically linked )。使用库uClibc,boa变得更小(92K statically linked)。

一,比对            

1.介绍

lighttpd实在是web服务器中的轻量级。但对于嵌入式web服务器来说还是较大的4个 多web服务器,功能较强。

许多人评论lighttpd:lighttpd、apache 属重量级服务器, 心智心智成熟的句子期期期 是什么的句子是什么 是什么稳定, 体积较大, 在繁复的嵌入式应用上可取舍.

· 支持动态Web页面,如ASP页面

要实现阅读器的lmt,所需的CGI代码量估计太满什么都有,关键在于调试。

C语言简洁紧凑,使用方便、灵活,对系统程序的语法形状要求就有很严,这就使得编程

· 支持CGI(公共网关编程接口)

· 容易使用。 多量的例子文档可用。

Thttpd是ACME公司设计的一款比较精巧的开源Web服务器。它的初衷是提供一款简单、小巧、易移植、快速和安全的HTTP服务器,而事实上,Thttpd也正是另4个 多一款服务器。它在Unix系统上运行的二进制代码系统程序,仅仅400k左右,在同类Web服务器中应该是相当精巧的。在可移植性方面,它要能在几乎所有的Unix系统上和已知的操作系统上编译和运行。Thttpd在默认的状态下,仅运行于普通用户模式下,从而要能有效地杜绝非授权的系统资源和数据的访问,一起通过扩展它要要能支持HTTPS、SSL和TLS安全协议。Thttpd尤为称道的是不可能 全面支持IPv6协议, 因此具有独特的Throttling功能,要能根据需要限制什么都有有URL和URL组的服务输出量。此外,Thttpd全面支持HTTP 1.1协议(RFC 2616)、CGI 1.1、HTTP 基本验证(RFC2617)、虚拟主机及支持大帕累托图的SSI(Server Side Include)功能,并要能采用PHP脚本语言进行服务器端CGI的编程。

Lighttpd缺点只要bug比较多,软件暂且稳定,因此文档太简略,什么都有有功能需要你买车人猜测才懂得为什么么配置。尤其是使用内存,不难 说清楚具体使用量,一般在10-20M(繁忙站点),但有然不会突发到400多M,并稳定下来。不过相对apache的使用量,这些 不可能 不算多。

· 嵌入式的JavaScript脚本翻译器

操作系统:ubuntu10.04

前言:    为了提高对设备的易操作性,什么都有设备中提供pc机直接通过浏览器操作设备的功能。这就需要在设备中实现web服务器。

1.介绍

许多人曾做过测试:所用环境AMD Duron 700,384MB RAM, RealTek 8139,SiS900 chipset-based NICs ,LinkSys 10/400 hub,Linux 2.4,结果是:Boa的虚拟内存(VmSize)大小是1696kB,85%是库文件。虚拟内存数据(VmData size)大小是108kB。Boa每次连个并发连接消耗掉20kB的内存。

thttpd是4个 多非常小巧的轻量级web server,它非常简单,对于并发请求不使用fork()来派生子系统程序外理,只要采用多路复用(Multiplex)技术来实现。因此效能很好。对于小型web server而言,传输下行速率 快似乎是4个 多代名词,通过官方站提供的Benchmark,要能另4个 多认为:thttpd为宜和主流的web server一样快,在高负载下调快,不可能 其资源占用小的缘故。Thttpd还有4个 多较为引人注目的特点:基于URL的文件流量限制,这对于下载的流量控制而言是非常方便的。象Apache就需要使用插件实现,传输下行速率 较thttpd低。Thttp是开源的。是用C语言编写的。使用的什么都有。

Boa

编译后的可执行的二进制文件为400kB左右,与boa差太满。版本已从1.90a发展到2.25b,

小巧、快速、不膨胀、太满安装、简单的40KB的exe文件,随意运行

非常简单整洁的嵌入式API

CGI与JSP的比较:

Servlet是Java技术对CGI编程的回答。Servlet系统程序在服务器端运行,动态地生成Web页面。与传统的CGI和什么都有有什么都有有同类CGI的技术相比,Java Servlet具有更高的传输下行速率 ,更容易使用,功能更强大,具有更好的可移植性,更节省投资。详细内容见备注。JSP是强于CGI,这也是现在CGI技术的使用越来越JSP使用多的原因。但现在嵌入式web服务器端系统程序开发,还是CGI较多。不可能 使用JSP技术,在嵌入式web服务器开发中很少使用,在网上越来越查到关于在嵌入式web服务器上应用的有关内容。

thttpd中是4个 多简单,小型,轻便,快速和安全的http服务器.