授权协议: MIT
开发语言: C# .NET
操作系统: 跨平台
收录时间: 2020-09-08
提 交 者: JasonWcx

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 HTTP/1.2

  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();

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

Mozi.HttpEmbedded 的相关资讯

Mozi.HttpEmbedded 的相关博客

专项行动的意外收获—— 2020 年 9 月墨子(Mozi)僵尸网络分析报告

作者:answerboy@知道创宇404积极防御实验室 时间:2020年9月18日 1.概述 专项行动期间,某天各大蓝队群内都在交流最近是否收...

使用tomcat7-maven-plugin

2019-01-0714:16:44 功能: (使用maven中的tomcat插件,就可以将tomcat集成到项目中,效果就是:在不同平台中无需配置tomca...

上周热点回顾(9.24-9.30)

热点随笔: · 一个程序员的辞呈(mozi_song) · 设计一个百万级的消息推送系统(crossoverJie) · Linux ACL 权限之进阶篇...

三大去中心化交易协议对比

关注三大去中心化交易协议,0x、路印Loopring与kyber。 一、中心化交易所PK去中心化交易所 中心化交易所存在很多典型的问题:...

访问者(Visitor)模式

  访问者模式是对象的行为模式。访问者模式的目的是封装一些施加于某种数据结构元素之上的操作。一旦这些操作需要修改的话,...

《JAVA设计模式》之访问者模式(Visitor)

在阎宏博士的《JAVA与模式》一书中开头是这样描述访问者(Visitor)模式的:   访问者模式是对象的行为模式。访问者模式的目...

《JAVA与模式》之访问者模式

在阎宏博士的《JAVA与模式》一书中开头是这样描述访问者(Visitor)模式的:   访问者模式是对象的行为模式。访问者模式的目...

Java 设计摸索--访问者模式

访问者模式是对象的行为模式。访问者模式的目的是封装一些施加于某种数据结构元素之上的操作。一旦这些操作需要修改的话,接受...

聊聊 Java 的几把 JVM 级锁

Photo @ zibik 文 | 楚昭 简介 在计算机行业有一个定律叫"摩尔定律",在此定律下,计算机的性能突飞猛进,而且价格也随之越来...

聊聊 Java 的几把 JVM 级锁

https://yq.aliyun.com/articles/745090 简介 在计算机行业有一个定律叫"摩尔定律",在此定律下,计算机的性能突飞猛进,而且...

Mozi.HttpEmbedded 的相关问答

还没有任何问答,马上提问

评论 (3)

加载中
与 Kestrel 比怎样?
09/14 09:43
回复
举报
同问
09/14 10:17
回复
举报
JasonWcx软件作者
不能和kestrel比,也比不了,这个项目并不是为了支持Asp.net。典型的应用,是在已有应用中快速实现WEB的能力。可以作为中间件载体。最好是做终端管理。
09/14 16:03
回复
举报
更多评论
3 评论
16 收藏
分享
返回顶部
顶部