Mozi.HttpEmbedded嵌入式 Web 服务器
Mozi.HttpEmbedded是一个基于.Net构建的嵌入式Web服务器,为.Net App提供web服务功能。
嵌入式的目标不是单片机,而是.Net应用程序。
此项目并不会实现非常丰富的大型Web服务器功能
项目基于.Net Framework 4.0开发,也可转换为.Net Core/.Net Standard项目
特点
HttpEmbedded在Socket之上使用异步单线程模型,构建了一个HTTP服务器。
- 嵌入式
本项目可作为.Net应用的内嵌Web服务器,亦可作为单独Web服务器
- 轻量化
项目编译结果小,部署程序占用系统资源少
- 可用性
开箱即用,配置少,可控性高。同时遵从.Net平台Web项目开发的典型规范。
- 低耦合
不改变现有业务逻辑,无需对现有代码进行改造,即可实现现有功能面向HTTP提供服务器
- 可控性
宿主程序对Web服务高度可控
典型应用场景
业务体系或功能已开发完成,期望在项目中加入一个Web服务器功能,同时不能对现有代码进行大规模改动。
在经典的Asp.Net开发中,Web服务的部署高度依赖于IIS,.Net Core项目则可基于Kestrel/IIS部署。 基于KESTREL或IIS部署的WEB项目,都基于Asp.Net体系。
原理及功能
-
HTTP协议 实现HTTP/1.1
-
通讯认证 实现基本认证(Basic)
-
Cookie管理 支持标准Cookie
-
HTTP请求方法 GET POST
-
路由 实现了URL管理,参见Router模块
-
引用与依赖关系 依赖于.Net Framework
-
Payload压缩 使用GZip压缩
-
字符编码 字符编码部分使用UTF-8
功能与版本迭代
不定期对HttpEmbedded的功能进行完善,解决各种BUG。HTTP标准功能繁多,需要一步步实现。
版权说明
本项目采用MIT开源协议,欢迎复制,引用和修改。
使用说明
HttpServer hs = new HttpServer(); //配置端口并启动服务器 hs.SetPort(9000).Start(); //开启认证 hs.UseAuth(AuthorizationType.Basic).SetUser("admin", "admin"); //开启静态文件支持 hs.UseStaticFiles(""); //路由映射 Router router = Router.Default; router.Map("services/{controller}/{id}"); Console.ReadLine();
评论
Appweb嵌入式Web服务器
Appweb是一个嵌入式HTTPWeb服务器,主要的设计思路是安全。这是直接集成到客户的应用和设备,便于开发和部署基于Web的应用程序和设备。Appweb速度快而且体积小,其中包括支持动态网页制作,服
Appweb嵌入式Web服务器
0
GoAhead嵌入式Web服务器
GoAheadWebServer采用开放源代码方式,任何人都可以下载、评估并修改代码,目的是为了使GoAheadWebServer成为市场上最领先的嵌入式Web服务器。重要特性: 支持虚拟
GoAhead嵌入式Web服务器
0
Undertow嵌入式 Web 服务器
Undertow是一个采用Java开发的灵活的高性能Web服务器,提供包括阻塞和基于NIO的非堵塞机制。Undertow是红帽公司的开源产品,是Wildfly默认的Web服务器。Undertow提供一
Undertow嵌入式 Web 服务器
0