boa thttpd goAhead

boa的功能比较齐全, 便对嵌入式应用很多功能就是冗余(如virtual host), 内存使用量较大些.
thttpd 功能较少, 实现简单. 内存使用量较少. 同时比较方便扩展.
shttpd 功能功能算是比较全的, 但在处理二进制数据时不够稳定, 时有异常. 有待观察.
light-httpd, apache 属重量级服务器, 成熟稳定, 体积较大, 在复杂的嵌入式应用上可选用.
goAhead 是个比较专用的 webserver, 大部分功能都在服务它自己提供的 goform 功能和
      ASP/javascript 功能. 最后的 2.1.8 版仍有不少bug. (见下)
mini-httpd 与 thttpd 是同一家, 功能几乎完全一样.

boa 缺陷:
(1) 未提供 CGI 解析头处理.
       可按这个地址方便修改. http://bbs.chinaunix.net/viewthread.php?tid=824840
(2) 对 POST 数据使用临时文件缓冲, 对无法创临时文件的小系统系统, 需要手工改下这部代码.
       很多人报告在移植时不能POST 数据, 都是这个原因.
(3) ...

thttpd 缺陷:
(1)   CGI1.1 标准支持不完整(不般影响不大), 未提供对协议要求的其它HTTP头处理,
      如:If-Modified-Since, Accept-Language等应用程序就收不到.
(2) 直接使用 socket 到 CGI 应用的重定, 会导致提供大量 POST 数据时(如上传文件),
       CGI应用不读完全部 POST 数据就无法向浏览器应答 bug
(3) ...

goAhead 缺陷:
(1) 专用, 如喜欢它提供的 goform和 asp 令论.
(2) CGI 对二进制输出有很多 bug.
(3) 为实现单一任务处理, 在很平台采用延时轮询接收队列, 处理效率不高.
(4) 其它 bug 有不一罗列了, 移植时要一个个订下.


个人观点, 仅供参考.

uClinux下,主要有三个Web Server:HTTPD、THTTPD和BOA。HTTPD是最简单的一个Web Server,它的功能最弱,不支持认证,不支持CGI。THTTPD和BOA都支持认证、CGI等,功能都比较全

你可能感兴趣的:(boa thttpd goAhead)