位置: 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没有显示在资源库)

    苹果下载app没有显示在桌面(苹果下载app没有显示在资源库)

  • cctalk录屏会被发现吗(录屏cctalk能检测吗)

    cctalk录屏会被发现吗(录屏cctalk能检测吗)

  • 微信发的小视频在哪里可以找到(微信发的小视频没有声音怎么回事)

    微信发的小视频在哪里可以找到(微信发的小视频没有声音怎么回事)

  • 苹果手机充一夜电对电池有影响吗(苹果手机充一夜电突然黑屏了)

    苹果手机充一夜电对电池有影响吗(苹果手机充一夜电突然黑屏了)

  • 3dmax怎么一渲染就崩溃(3d max 怎么渲染)

    3dmax怎么一渲染就崩溃(3d max 怎么渲染)

  • yu fly是什么手机(yufly是什么牌子手机)

    yu fly是什么手机(yufly是什么牌子手机)

  • 机顶盒是猫吗(机顶盒是不是猫)

    机顶盒是猫吗(机顶盒是不是猫)

  • 正在注销关不了机怎么回事(正在注销很久)

    正在注销关不了机怎么回事(正在注销很久)

  • 视图分为哪几种(视图分为哪几种视图)

    视图分为哪几种(视图分为哪几种视图)

  • 京东过年期间发快递吗(京东过年期间发货吗)

    京东过年期间发快递吗(京东过年期间发货吗)

  • 消息列表在哪里(微信评论的消息列表在哪里)

    消息列表在哪里(微信评论的消息列表在哪里)

  • 手机mac地址能查到什么(手机mac地址能查到手机型号吗)

    手机mac地址能查到什么(手机mac地址能查到手机型号吗)

  • 苹果xsmax美版支持双卡吗(苹果xsmax美版支持三网吗)

    苹果xsmax美版支持双卡吗(苹果xsmax美版支持三网吗)

  • 通讯录黑名单在那里找(通讯录黑名单在哪看)

    通讯录黑名单在那里找(通讯录黑名单在哪看)

  • 快手能看到浏览记录吗(快手能看到浏览过的视频嘛)

    快手能看到浏览记录吗(快手能看到浏览过的视频嘛)

  • 非好友显示可查看三天(非好友能看见状态吗)

    非好友显示可查看三天(非好友能看见状态吗)

  • 商品下架了差评有用吗(商品下架了差评还在吗)

    商品下架了差评有用吗(商品下架了差评还在吗)

  • 两个oppo手机怎么互相定位(两个oppo手机怎么同步所有东西)

    两个oppo手机怎么互相定位(两个oppo手机怎么同步所有东西)

  • oppor15x电池耐用吗(oppor15x电池怎么样)

    oppor15x电池耐用吗(oppor15x电池怎么样)

  • xr网速慢怎么办(xr网速特别慢)

    xr网速慢怎么办(xr网速特别慢)

  • 惠普笔记本怎样系统还原(惠普笔记本怎样下载软件)

    惠普笔记本怎样系统还原(惠普笔记本怎样下载软件)

  • 常用激活函数activation function(Softmax、Sigmoid、Tanh、ReLU和Leaky ReLU) 附激活函数图像绘制python代码(常用激活函数及其导数)

    常用激活函数activation function(Softmax、Sigmoid、Tanh、ReLU和Leaky ReLU) 附激活函数图像绘制python代码(常用激活函数及其导数)

  • ngrep命令  数据包匹配和显示工具(ngnix 命令)

    ngrep命令 数据包匹配和显示工具(ngnix 命令)

  • python scrapy处理翻页的方法(scrapy csdn)

    python scrapy处理翻页的方法(scrapy csdn)

  • 金税盘老是重复更新进不去
  • 模具费怎么入账
  • 净资产包含哪些方面
  • 进口货物销售不开票
  • 税务局买税盘
  • 发票红冲重新开
  • 带息负债融资成本
  • 待抵扣进项税额和待认证进项税额的区别
  • 工商年报填好后怎样公示
  • 开发间接费什么时候计提
  • 长期投资包括哪些会计科目
  • 进项税和销项税怎么区分
  • 增值税专用发票电子版
  • 不同税率的产品可以开一张票里吗
  • 所得税调增调减项目
  • 车辆处置入账价值包括哪些
  • 开票满500万一定会升一般纳税人吗
  • 出口申报时限
  • 增值税防伪税控系统管理办法
  • 增值税一般纳税人是什么意思
  • 滴滴开票是专票还是普票
  • 财务计提个人缴纳社保部分怎么记账?
  • 两个单位的社保合并怎么办理手续
  • win10右键个性化提示该文件没有与之关联
  • deepin切换系统
  • 职工福利费支付范围
  • 住房公积金个税抵扣标准
  • 王者荣耀中孙尚香怎么玩
  • 补缴增值税和滞纳税区别
  • phpshuffle
  • win 11怎么安装
  • 固态硬盘最新接口
  • pytorch :OSError: [WinError 1455] 页面文件太小,无法完成操作。 Error loading 【已解决】
  • smarty怎么用
  • php忘记密码功能
  • 民办非企业单位登记管理暂行条例
  • yolo v4 v5
  • php返回数组中所有的值的函数是什么?
  • 法人借钱给公司,公司可以直接转给法人吗
  • 长期待摊费用账务
  • 公司的钱借给个人必须要有利息吗
  • 存货非正常损失可以所得税前扣除吗
  • 支付贷款利息属于筹资活动吗
  • sql server递归查询
  • 专家劳务费能否抵扣个税
  • 本年缴纳上年的所得税填年报
  • 农产品来源用途是什么
  • 企业所得税余额为负数
  • 销售商品发生的应收账款入账价值包括
  • 住宿费的进项税额
  • 融资开票是什么意思
  • 未开票收入怎么报税
  • 视同销售但未收到钱怎么做账?
  • 汇兑损益的税务处理
  • 安装sqlserver2000 IP地址出错怎样修改
  • sql server如何远程登录
  • casewhen嵌套查询
  • Python3.6-MySql中插入文件路径,丢失反斜杠的解决方法
  • freebsd操作命令
  • linux sed-i
  • 阿里云电脑系统
  • win10 rundll
  • win10通知栏点击没反应
  • win7自带防火墙关闭后自己打开啥原因
  • xp系统组策略怎么打开
  • win8系统硬盘怎样分区
  • 你将会收藏
  • SQLite -- 嵌入式关系型数据库
  • cmd命令怎么重启
  • javascript 正则
  • Node.js+jade+mongodb+mongoose实现爬虫分离入库与生成静态文件的方法
  • Unity3D游戏开发(第2版)
  • 安卓自定义动态壁纸
  • android系统设置
  • 宁夏地税局局长
  • 什么情况适用简易诉讼程序
  • 个体户增值税申报比对不符怎么处理
  • 超市开发票每月额度,超了之后税率是多少
  • 湖南银税进件中心
  • 零申报的企业残保金怎么申报
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设