当前位置: 首页 > 软件库 > 服务器软件 > HTTP服务器 >

Mozi.HttpEmbedded

嵌入式 Web 服务器
授权协议 MIT
开发语言 C# .NET
所属分类 服务器软件、 HTTP服务器
软件类型 开源软件
地区 国产
投 递 者 薛淮晨
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Mozi.HttpEmbedded是一个基于.Net构建的嵌入式Web服务器,为.Net App提供web服务功能。

嵌入式的目标不是单片机,而是.Net应用程序。

此项目并不会实现非常丰富的大型Web服务器功能

项目基于.Net Framework 4.0开发,也可转换为.Net Core/.Net Standard项目

特点

HttpEmbedded在Socket之上使用异步单线程模型,构建了一个HTTP服务器。

  1. 嵌入式

    本项目可作为.Net应用的内嵌Web服务器,亦可作为单独Web服务器

  2. 轻量化

    项目编译结果小,部署程序占用系统资源少

  3. 可用性

    开箱即用,配置少,可控性高。同时遵从.Net平台Web项目开发的典型规范。

  4. 低耦合

    不改变现有业务逻辑,无需对现有代码进行改造,即可实现现有功能面向HTTP提供服务器

  5. 可控性

    宿主程序对Web服务高度可控

典型应用场景

业务体系或功能已开发完成,期望在项目中加入一个Web服务器功能,同时不能对现有代码进行大规模改动。

在经典的Asp.Net开发中,Web服务的部署高度依赖于IIS,.Net Core项目则可基于Kestrel/IIS部署。
基于KESTREL或IIS部署的WEB项目,都基于Asp.Net体系。

原理及功能

  1. HTTP协议 实现HTTP/1.1

  2. 通讯认证 实现基本认证(Basic)

  3. Cookie管理 支持标准Cookie

  4. HTTP请求方法 GET POST

  5. 路由 实现了URL管理,参见Router模块

  6. 引用与依赖关系 依赖于.Net Framework

  7. Payload压缩 使用GZip压缩

  8. 字符编码 字符编码部分使用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();
 相关资料
  • 每个Spring Boot Web应用程序都包含一个嵌入式Web服务器。 此功能会导致许多操作方法问题,包括如何更改嵌入式服务器以及如何配置嵌入式服务器。 本节回答了这些问题。 9.3.1 使用其他Web服务器 许多Spring Boot启动器都包含默认的嵌入式容器。 对于servlet堆栈应用程序,spring-boot-starter-web包括tomcat,包括spring-boot-sta

  • neo4j数据库应在哪种模式下使用嵌入式或rest服务器? 我主要关注的是: > 性能 水平扩展(HA,集群)-因为应用程序非常大,所以非常重要。 事务支持(在SDN、Grails插件、结构等框架中) 部署服务器支持,如amazon、GrapheneDB等。 易于从一个切换到另一个 缩放(数据库大小)

  • 25.1.1. 嵌入式MySQL服务器库概述 25.1.2. 使用libmysqld编译程序 25.1.3. 使用嵌入式MySQL服务器时的限制 25.1.4. 与嵌入式服务器一起使用的选项 25.1.5. 嵌入式服务器中尚需完成的事项(TODO) 25.1.6. 嵌入式服务器示例 25.1.7. 嵌入式服务器的许可 25.1.1. 嵌入式MySQL服务器库概述 使用嵌入式MySQL服务器库,能够

  • 我试图在HA模式下使用带有spring数据的neo4j嵌入式服务器。我得到类加载错误。我把所有的罐子都放好了。我试图在HA模式下使用带有spring数据的neo4j嵌入式服务器。我得到类加载错误。我把所有的罐子都放好了。

  • 我制作了一个非常基本的web应用程序,它只有一个html页面。我把它当作战争输出。 现在我创建了一个嵌入式jetty服务器。 } 我为这个嵌入式服务器创建了一个jar。但是当我试图通过嵌入式服务器运行我的web应用程序时,我得到以下错误。 C:\users\user>Java-jar C:\users\user\desktop\jetty\webserver.jar null 我使用过jetty

  • 基本上,我想在Tomcat 8嵌入式中运行一些Rest类。我不确定如何将它们添加到我正在创建的tomcat嵌入式实例中。所以这就是我所做的。这里只有泽西班: 下面是我创建Tomcat的类: 正如你看到的,带问号的部分给我制造麻烦。还有一个lats问题,这就是我应该添加这些类以在服务器上运行的方式,对吗? 更新我添加了Michal Gajdos建议的行,但在启动时我得到: 线程“main”java中