开源而又强大的迷你型web服务器推荐
appweb显然是不二之选,看了下最新版,已经到了4了
下载下来,http://appwebserver.org/software/appweb-4.4.4-0-src.tgz,十几M,直接吓傻,离我的目标有点远,
翻箱倒柜,到了一个老版本2的,体积还算还好,而且功能强大
瞄了下代码,虽然是为嵌入式系统准备但是功能还真是强大,甚至于支持一个类asp的动态网页语言,叫做esp。
这一个web服务器应该有的结构,虽然小巧,但我想,apache也应该是这样的结构
拿着这个web服务器显示不是为了做网页用了,所以,如果让自己想要的功能跑进服务器才是关键。
每种服务需要一个MaModule/MaHandlerService/MaHandler
在服务器启动的时候将手工调用new MaModule(继承自),会将该模块载入到服务器中,并且,当请求(类MaRequest)来的时候传入时MaHanlder实例的matchRequest进行匹配
当匹配这个请求成功后,会调用MaHanlder的Close方法生成一个新实例给他,并执行run(MaRequest*),一次请求完成
其中,多个模块的Hanlder有可能都同时匹配,那么怎么来控制Hanlder的匹配优先级呢。答案就在new MaModule
代码里面,为我们提供了很多的Hanlder组合拼装一下应该是够了
下载地址:https://github.com/linbc/appweb2-win
使用cmake编译,目前仅用于windows下,linux有太多的选择,反而不需要这个了,所以也不用考虑跨平台了,不过要改还是挺快的,改下CMake的宏就结了
开源而又强大的迷你型web服务器推荐的更多相关文章
- 【nodejs之我的开源module】 使用express搭建web服务器,代码即文档的实现。
前言 都说nodejs适合制作restful_API,因为它有异步处理能力,能吞吐更多的请求,这一点是大家都认可的.前不久我使用nodejs+express+postgresql搭建了一个restfu ...
- Web服务器对比介绍
1.Apache Apache是非常强大的老牌Web服务器,具有模块化结构,拥有众多非常成熟稳定的模块,目前仍是使用非常广泛的服务器,但它是基于多进程HTTPServer,需要对每个用户请求创建一个子 ...
- Web服务器缓存
前面提到的一些缓存技术都是有我们的动态才程序控制的,现在的web服务器功能越来越强大,常用的web服务器软件也都内置了缓存功能,下面我们就简单的说下服务器端缓存的应用. 首先,我们先来介绍一下URL映 ...
- 利用Nginx实现反向代理web服务器
一.Nginx简介 Nginx是一个很强大的高性能Web服务器和反向代理服务器,它具有很多非常优越的特性: 可以高并发连接 内存消耗少 成本低廉 配置文件非常简单 支持Rewrite重写 内置的健康检 ...
- 淘宝开源Web服务器Tengine安装教程
简介Tengine是由淘宝核心系统部基于Nginx开发的Web服务器,它在Nginx的基础上,针对大访问量网站的需求,添加了很多功能和特性.Tengine的性能和稳定性已经在大型的网站如淘宝网,淘宝商 ...
- nginx简介(轻量级开源高并发web服务器:大陆使用者百度、京东、新浪、网易、腾讯、淘宝等)(并发量5w)(一般网站apache够用了,而且稳定)
nginx简介(轻量级开源高并发web服务器:大陆使用者百度.京东.新浪.网易.腾讯.淘宝等)(并发量5w)(一般网站apache够用了,而且稳定) 一.总结 1.在连接高并发的情况下,Nginx是A ...
- 3.6 万颗星!开源 Web 服务器后起之秀,自带免费 HTTPS 开箱即用
众所周知,Web 服务器是 Web 开发中不可或缺的基础服务,在开发中经常会用到.耳熟能详的开源 Web 服务器有久负盛名的 Apache.性能强劲的 Nginx.而我们今天要介绍的开源项目是采用 G ...
- 一个比 Nginx 功能更强大的 Web 服务器
公众号关注 「开源Linux」 回复「学习」,有我为您特别筛选的学习资料~ Caddy 简介 Caddy 是一个 Go 编写的 Web 服务器,类似于 Nginx,Caddy 提供了更加强大的功能,随 ...
- 淘宝开源Web服务器Tengine基本安装步骤
Tengine 是由淘宝核心系统部基于Nginx开发的Web服务器,它在Nginx的基础上,针对大访问量 网站的需求,添加了很多功能和特性.Tengine的性能和稳定性已经在大型的网站如淘宝网,淘宝商 ...
随机推荐
- error log
04-29 18:18:17.295 6903-6913/? I/art: Debugger is no longer active 04-29 18:18:17.473 157-157/? I/DE ...
- Spring容器-ApplicationContext的单例设计
Spring容器-ApplicationContext的单例设计 每次通过new创建一个ApplicationContext容器,都会执行refresh方法,看源代码了解到这个refresh方法会 ...
- Wps的ppt里 让图片按顺序出现 就是点击一下 出现一张照片
基本操作能够用两种方法来实现: 方法一.每页幻灯片插入一张图片,幻灯片默认就是单击鼠标切换幻灯片的,所以不用再做其它设置. 方法二.在一页幻灯片中插入多张图片,全选图片(插入图片后,点击图片,Ctrl ...
- IOS 7 开发范例 - UISwitch的使用
Creating and Using Switches with UISwitch You would like to give your users the ability to turn an o ...
- UOJ #142. 【UER #5】万圣节的南瓜灯 并查集
#142. [UER #5]万圣节的南瓜灯 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://uoj.ac/problem/142 Descrip ...
- poj1190生日蛋糕
生日蛋糕 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 12277 Accepted: 4325 Description 7月1 ...
- 使用QQ账号的来发送邮件
第一步,看图操作如下: 打开QQ邮箱,在设置-帐户,然后再看下图示: 把:POP3/SMTP服务,IMAP/SMTP服务,Exchange服务,CardDAV/CalDAV服务都选择上,保存这样,便可 ...
- Word2010 清除样式
使用场景 有时候我们在网页上面粘贴一些精华文章或者从去整理别人已经完成的word的时候,会发现它自带的格式,可能并不是我们所理想的格式,所以此时就不得不去重新编辑其格式,但是word里 ...
- Autowired properities class
1. Properties类 @ConfigurationProperties(locations = "classpath:build.properties") @JsonInc ...
- 临时2级页表的初始化过程 head_32.S 相关代码解释
page_pde_offset = (__PAGE_OFFSET >> 20); /* __PAGE_OFFSET是0xc0000000,page_pde_offset = 3072 = ...