查看原文
其他

常见的嵌入式web服务器有哪些?

关注「嵌入式大杂烩」,星标公众号,一起进步!

嵌入式WEB服务器常见的有:Lighttpd, Shttpd, Thttpd, Boa, Mini_httpd, Appweb, Goahead。

Lighttpd

地址:

http://www.lighttpd.net/

LigHttpd是一个开源轻量级嵌入式Web server,是提供一个专门针对高性能网站,安全、快速、兼容性好并且灵活的web server环境。具有非常低的内存开销,cpu占用率低,效能好,以及丰富的模块等特点。

lighttpd 适合静态资源类的服务,比如图片、资源文件、静态HTML等等的应用,性能应该比较好,同时也适合简单的CGI应用的场合,lighttpd可以很方便的通过fastcgi支持php。

Shttpd

地址:

https://www.oschina.net/p/shttpd?hmsr=aladdin1e1

Shttpd,开源。它是另一个轻量级的web server,具有比thttpd更丰富的功能特性,支持CGI, SSL, cookie, MD5认证, 还能嵌入(embedded)到现有的软件里。最有意思的是不需要配置文件!

由于shttpd可以轻松嵌入其他程序里,因此shttpd是较为理想的web server开发原形,开发人员可以基于shttpd开发出自己的webserver,官方网站上称shttpd如果使用uclibc/dielibc(libc的简化子集)则开销将非常非常低。

Thttpd

地址:

https://www.oschina.net/p/thttpd?hmsr=aladdin1e1

thttpd是一个简单,小型,可移植,快速且安全的HTTP服务器。Thttpd至少和主流的web server一样快,在高负载下更快,因为其资源占用小的缘故。Thttp是开源的,是用C语言编写的,使用的很多。

特点:

  • 简单的:它仅处理实现HTTP / 1.1所需的最低要求。好吧,也许比最小值还多一点。

  • 小的:它也具有非常小的运行时大小,因为它不会分叉,并且对内存分配非常小心。

  • 便携的:它可以在大多数类似Unix的操作系统上干净地编译,特别是FreeBSD,SunOS 4,Solaris 2,BSD / OS,Linux,OSF。

  • 快速地:在典型的用途中,它的速度与最佳的全功能服务器(Apache,NCSA,Netscape)差不多。在极端负载下,它的速度要快得多。

  • 安全的:竭尽全力保护Web服务器计算机免受来自其他站点的攻击和入侵。

Boa

地址:

http://www.boa.org/

Boa服务器是一个小巧高效的web服务器,是一个运行于unix或linux下的,支持CGI的、适合于嵌入式系统的单任务的http服务器,源代码开放、性能高。

Boa是一种非常小巧的Web服务器,其可执行代码只有大约60KB左右。作为一种单任务Web服务器,Boa只能依次完成用户的请求,而不会fork出新的进程来处理并发连接请求。但Boa支持CGI,能够为CGI程序fork出一个进程来执行。Boa的设计目标是速度和安全。

Mini_httpd

地址:

https://www.oschina.net/p/mini-httpd

Mini_httpd是一个小型的HTTP服务器。开源,它的性能不强,但是它非常适合于中小访问量的站点。Mini_httpd和thttpd都是ACME Labs 开发的软件,功能没有thttpd强。

Appweb

地址:

https://www.embedthis.com/

Appweb 是下一代嵌入式web服务器,它天生是为嵌入式开发的,它的最初设计理念就是安全。Appweb是一个快速、低内存使用量、标准库、方便的服务器。与其它嵌入式web服务器相比,appweb最大特点就是功能多和高度的安全保障。Appweb简单、方便、开源。

GoAhead

https://www.embedthis.com/goahead/

GoAhead Webserver是为嵌入式实时操作系统(RTOS)量身定制的Web服务器。GoAhead Webserver是跨平台的服务器软件,可以稳定地运行在Windows,Linux和Mac OS X操作系统之上。GoAhead Webserver是开放源代码的,这意味着你可以随意修改Web服务器的功能。

这款WEB服务器非常小巧,它的WIN CE版本编译后的大小还不到60k,它的输出通常也是面向一些小屏幕设备。在性能方面,使用一颗24MH z的68040处理器,它的响应速度为20次/秒,使用266MHz的Pentium处理器可以达到50次/秒的响应速度。

本文来源网络版权归原作者所有。如涉及作品版权问题,请联系我进行删除。


嵌入式工程师的自我修养?


干货 | 如何榨干SysTick的每一滴汁水?


Linux GNU C 与 ANSI C 有什么区别?


长文 | 有C基础,如何快速过度到C++?


在公众号聊天界面回复1024,可获取嵌入式资源;回复 ,可查看文章汇总。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存