位置: IT常识 - 正文

六款小巧的HTTP Server[C语言] 贵贵的博客 开发|架构|开源|共享

编辑:rootadmin
六款小巧的HTTP Server 六款小巧的HTTP Server[C语言]

推荐整理分享六款小巧的HTTP Server[C语言] 贵贵的博客 开发|架构|开源|共享,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

开源软件

1、micro_httpd - really small http server

特点:

支持安全的 .. 上级目录过滤

支持通用的MIME类型

支持简单的目录

支持目录列表

支持使用 index.html 作为首页

Trailing-slash redirection

程序总共代码才200多行

这个httpd适合学习简单的Web Server编写学习,因为它只有一个简单的框架,只能够处理简单的静态页,可以考虑用来放静态页。

官方地址:http://www.acme.com/software/micro_httpd/

下载地址:http://www.acme.com/software/micro_httpd/micro_httpd_12dec2005.tar.gz

2、mini_httpd - small HTTP server

特点:

支持GET、HEAD、POST方法

支持CGI功能

支持基本的验证功能

支持安全 .. 上级目录功能

支持通用的MIME类型

支持目录列表功能

支持使用 index.html, index.htm, index.cgi 作为首页

支持多个根目录的虚拟主机

支持标准日志记录

支持自定义错误页

Trailing-slash redirection

mini_httpd 也是相对比较适合学习使用,大体实现了一个Web Server的功能,支持静态页和CGI,能够用来放置一些个人简单的东西,不适宜投入生产使用。

官方地址:http://www.acme.com/software/thttpd/

下载地址:http://www.acme.com/software/mini_httpd/mini_httpd-1.19.tar.gz

3、thttpd - tiny/turbo/throttling HTTP server

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

简单:它能够支持HTTP/1.1协议标准,或者超过了最低水平

六款小巧的HTTP Server[C语言]  贵贵的博客  开发|架构|开源|共享

小巧:它具有非常少的运行时间,因为它不fork子进程来接受新请求,并且非常谨慎的分配内存(性能对比表:http://www.acme.com/software/thttpd/benchmarks.html)

便携:它能够在大部分的类Unix系统上运行,包括FreeBSD, SunOS 4, Solaris 2, BSD/OS, Linux, OSF等等

快速:它的速度要超过主流的Web服务器(Apache, NCSA, Netscape),在高负载情况下,它要快的多

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

thttpd 类似于lighttpd,对于并发请求不使用fork()来派生子进程处理,而是采用多路复用(Multiplex)技术来实现。因此效能很好。同时它还有一个特点就是基于URL的文件流量限制,这对于下载的流量控制而言是非常方便的。象Apache就必须使用插件实现,效率较thttpd低。

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

官方地址:http://www.acme.com/software/thttpd/

下载地址:http://www.acme.com/software/thttpd/thttpd-2.25b.tar.gz

4、lighttpd - light footprint + httpd = LightTPD

Lighttpd是一个德国人领导的开源软件,其根本的目的是提供一个专门针对高性能网站,安全、快速、兼容性好并且灵活的web server环境。具有非常低的内存开销,cpu占用率低,效能好,以及丰富的模块等特点。

lighttpd 是众多OpenSource轻量级的web server中较为优秀的一个。支持FastCGI, CGI, Auth, 输出压缩(output compress), URL重写, Alias等重要功能,而Apache之所以流行,很大程度也是因为功能丰富,在lighttpd上很多功能都有相应的实现了,这点对于apache的用户是非常重要的,因为迁移到lighttpd就必须面对这些问题。

实用起来lighttpd确实非常不错,apache主要的问题是密集并发下,不断的fork()和切换,以及较高(相对于 lighttpd而言)的内存占用,使系统的资源几尽枯竭。而lighttpd采用了Multiplex技术,代码经过优化,体积非常小,资源占用很低,而且反应速度相当快。

利用apache的rewrite技术,将繁重的cgi/fastcgi任务交给lighttpd来完成,充分利用两者的优点,现在那台服务器的负载下降了一个数量级,而且反应速度也提高了一个甚至是2个数量级!

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

官方地址:http://www.lighttpd.net/

下载地址:http://www.lighttpd.net/download/lighttpd-1.4.16.tar.gz

5、SHTTPD - Simple HTTPD

Shttpd是另一个轻量级的web server,具有比thttpd更丰富的功能特性,支持CGI, SSL, cookie, MD5认证, 还能嵌入(embedded)到现有的软件里。最有意思的是不需要配置文件!由于shttpd可以嵌入其他软件,因此可以非常容易的开发嵌入式系统的web server,官方网站上称shttpd如果使用uclibc/dielibc(libc的简化子集)则开销将非常非常低。

特点:

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

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

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

标准日志格式

非常简单整洁的嵌入式API

dietlibc friendly. NOT that friendly to the uClibc (*)

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

由于shttpd可以轻松嵌入其他程序里,因此shttpd是较为理想的web server开发原形,开发人员可以基于shttpd开发出自己的webserver!

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

下载地址:http://jaist.dl.sourceforge.net/sourceforge/shttpd/shttpd-1.38.tar.gz

6、tinyhttpd

tinyhttpd is a very simple webserver. It is not for production use; instead it is primarily for a learning tool for persons investigating the http protocol and UNIX system calls.

Despite its simple nature, tinyhttpd supports threading and CGI scripts! For more information, see the accompanying README file and the code itself.

tinyhttpd is tested on Sparc Solaris and will probably not run on other operating systems as-is. However, commenting out the line that does threading may be all that is required to port it. I would like to autoconfiscate tinyhttpd at some point in time to help make it more portable.

There is no downloadable release of tinyhttpd, yet. Until then, you can get it by anonymous CVS.

The real homepage for tinyhttpd is the project page

地址:http://tinyhttpd.sourceforge.net/

本文链接地址:https://www.jiuchutong.com/zhishi/303716.html 转载请保留说明!

上一篇:C语言中数组越界是什么(c语言中数组越界)

下一篇:mysql中regexp_replace函数的使用

  • 互联网+时代,医疗APP怎样有效推广?

    互联网+时代,医疗APP怎样有效推广?

  • 转转未成年可以买东西吗(转转未成年可以实名认证吗)

    转转未成年可以买东西吗(转转未成年可以实名认证吗)

  • 微信怎么取消做对方监护人(微信怎么能取消)

    微信怎么取消做对方监护人(微信怎么能取消)

  • 三星s22ultra和s21ultra区别(三星s22ultra和s21ultra屏幕哪个好)

    三星s22ultra和s21ultra区别(三星s22ultra和s21ultra屏幕哪个好)

  • 快手附近的人的意思是(快手里附近的人都在看在哪里找到的)

    快手附近的人的意思是(快手里附近的人都在看在哪里找到的)

  • 苹果手机提示音怎么改(苹果手机提示音没有了怎么回事)

    苹果手机提示音怎么改(苹果手机提示音没有了怎么回事)

  • 拼多多退款拒收到付件啥意思(拼多多退款拒收还用填写退货信息吗吗)

    拼多多退款拒收到付件啥意思(拼多多退款拒收还用填写退货信息吗吗)

  • 内屏漏液久了手机会烧主板吗(内屏漏液不修会损坏手机吗)

    内屏漏液久了手机会烧主板吗(内屏漏液不修会损坏手机吗)

  • 蓝屏警告淘宝可以买吗?(蓝屏警告还会不会返场)

    蓝屏警告淘宝可以买吗?(蓝屏警告还会不会返场)

  • 安卓手机可以改微信号吗(安卓手机可以改苹果id密码吗)

    安卓手机可以改微信号吗(安卓手机可以改苹果id密码吗)

  • 为什么拼多多帮砍不了(为什么拼多多帮不了别人砍价)

    为什么拼多多帮砍不了(为什么拼多多帮不了别人砍价)

  • 快手权重是啥意思(什么是快手权重)

    快手权重是啥意思(什么是快手权重)

  • 支付宝怎么关闭刷脸认证(支付宝怎么关闭亲情卡功能)

    支付宝怎么关闭刷脸认证(支付宝怎么关闭亲情卡功能)

  • iphone8p机身尺寸(iphone8p的机身尺寸)

    iphone8p机身尺寸(iphone8p的机身尺寸)

  • wifi的ip设置dhcp和静态的区别(WIFI的IP设置弄完静态一返回又变了是怎么回事)

    wifi的ip设置dhcp和静态的区别(WIFI的IP设置弄完静态一返回又变了是怎么回事)

  • nova6se怎么截屏(nova6se怎么截长图)

    nova6se怎么截屏(nova6se怎么截长图)

  • vivo手机红外线在哪(vivo手机红外线遥控器怎么用)

    vivo手机红外线在哪(vivo手机红外线遥控器怎么用)

  • word文档内容不能修改(word文档内容不能顶格)

    word文档内容不能修改(word文档内容不能顶格)

  • 微信有没有已读功能(微信有没有已读不回显示)

    微信有没有已读功能(微信有没有已读不回显示)

  • 网易云怎么调音质(网易云怎么调音乐倍速)

    网易云怎么调音质(网易云怎么调音乐倍速)

  • 小米9mimoji在哪里(小米九手机)

    小米9mimoji在哪里(小米九手机)

  • 淘手游实名认证怎么解除(淘手游实名认证身份证重复)

    淘手游实名认证怎么解除(淘手游实名认证身份证重复)

  • 设了免打扰对方知道吗(对方设置了免打扰还能看见我给她打电话么)

    设了免打扰对方知道吗(对方设置了免打扰还能看见我给她打电话么)

  • JDBC连接MySQL后出现中文字符乱码的问题及其解决方案(jdbc连接mysql的url怎么写)

    JDBC连接MySQL后出现中文字符乱码的问题及其解决方案(jdbc连接mysql的url怎么写)

  • 【原生Ajax】全面了解xhr的概念与使用。(原生ajax和axios的区别)

    【原生Ajax】全面了解xhr的概念与使用。(原生ajax和axios的区别)

  • lvextend命令  扩展逻辑卷设备(lvs命令)

    lvextend命令 扩展逻辑卷设备(lvs命令)

  • 公司办理税务注销的相关规定
  • 商业承兑汇票未到期贴现
  • 未分配利润为负数可以提取盈余公积吗
  • 工程项目估算收入要缴税吗
  • 补交以前年度的所得税
  • 美容行业如何做活动
  • 国家税务局发票查询真伪
  • 未达起征点标志
  • 年初的进项税额计算公式
  • 融资租赁会计核算的一般原则是什么
  • 其他货币资金存出投资款什么时候用
  • 进口的原材料没有发票
  • 企业替员工缴纳商保家财险
  • 收到长期股权投资的现金股利
  • 电商公司怎么进入
  • 兼营免税减税项目
  • 贸易公司出口退税流程及账务处理
  • 费用报销单与付款申请单的用处区别
  • 增值税发票系统怎么升级
  • 离婚房屋权属变动怎么办
  • 是否只有首次购买税控盘可以全额抵减增值税
  • 农产品收购发票怎么做账
  • 现金盘盈盘亏怎么计算
  • 出口加工区内企业可经营什么业务
  • 员工借款收不回来账务处理
  • 坏账准备的计提应当关注
  • 高新技术企业研发费
  • 接受捐赠后会引起
  • 变更股权需要资质证书吗
  • 金蝶软件测试笔试题及答案
  • 在建工程人工费计入什么科目
  • 无形资产资本化和费用化的区别
  • 母公司投资子公司怎么做账
  • 小规模商贸企业增值税税率
  • 豹七三七粉的价格
  • 出口退税需要满足什么条件外贸
  • php 上传图片
  • zendstudio怎么创建php项目
  • 2021vue面试
  • r在数据分析中表示什么意思
  • 微信小程序父子通信
  • uniapp前端 django后端
  • 代开的普通发票如何盖章
  • 三类职业指的是什么
  • 所得税主要特点有
  • 营业外支出会计科目
  • 一般纳税人增值税税率
  • 小规模纳税人现代服务税率
  • 月底留抵税额需要结转吗
  • 刻章需要准备的资料
  • 组织员工旅游的租宿费的税额是什么
  • 免税收入啥意思
  • mysql如何实现多表查询
  • 高危补丁该不该修补
  • xp系统强制删除文件
  • winxp系统设置密码
  • Ubuntu Linux 7.04QQ、MSN 安装和使用方法
  • windows xp开始菜单桌面图标消失
  • linux系统如何安装应用
  • win10 windows更新清理删不掉
  • javascript怎么用
  • linux awk命令使用实例
  • python在web上的应用
  • Node.js中的construct构造函数
  • linux分区类型默认的是什么
  • lru缓存机制是什么
  • 网管的功能
  • using dispose
  • js中eval函数是干嘛的
  • androidstudio安装gradle不成功
  • jQuery soColorPacker 网页拾色器
  • jquery 触发点击
  • 济南税务局投诉电话
  • 小微企业税务优惠政策
  • uk开票软件如何赋码
  • 国税发票查询能查出什么项目
  • 国税企业所得税网上申报
  • 庐山坐缆车上去后还要买门票吗?
  • 江苏国税电子国税局
  • 季度申报忘了报怎么办
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设