您现在的位置是:首页 > 文章详情

smart-http v1.1.9 发布,一款开源 http 服务器

日期:2021-11-01点击:489

smart-http 是一款采用 smart-socket 研发的可编程式 http 应用微内核,用户可以在此基础上很轻松的开展 Http 或者 WebSocket 相关的服务端/客户端程序开发。

smart-http 自发布以来获得了很多用户的青睐,通过长期紧密的互动交流,促使该项目从易用性、稳定性和运行性能等方面都得到了显著的进步。

本次发布的两项新特性:Gzip压缩传输和异步响应式服务,皆来自用户的实际需求,我也在第一时间连夜爆肝予以支持。

Gzip压缩传输

通过启用压缩技术可以大大减少网络传输的数据量,提高网页的加载、渲染速度。当然,启用压缩模式会增加些许服务器的性能开销,如果是静态文件可以采用缓存技术消除该影响。

为了检验压缩传输的效果,我们针对同一份文件分别启用压缩模式和非压缩模式的执行http请求(见下图)。可以看到在没有进行的压缩的时候,传输的字节数高达 8541 个字节,而启用压缩后则骤降至 1557 字节,这样的压缩比还是非常可观的。

异步响应式 

因为 smart-http 使用的是 AIO 模型,无需额外的 IO 线程组,所以一般推荐直接在 smart-http 线程组中处理你的业务逻辑,即同步响应模式。

但是,假如当前存在与 smart-http 线程组同等数量的客户端都发起大文件上传请求时,会耗尽 smart-http 线程组的全部线程资源,此时再来一个普通的 http 请求将得不到及时响应。针对该场景,可以将请求分发至另外一组线程组(专门处理长耗时任务),待其执行完毕再通过异步响应方式往客户端输出结果。

启用 smart-http 的异步响应式功能只需重写 HttpServerHandler 的 handle 方法,并于异步线程组中适当的时候调用 future.complete 方法即可(如下图示例)。

更新内容

  1. smart-socket 升级至1.5.13

  2. 修复 Http/1.0 keep-alive 设置不生效的 bug。

  3. 支持 Gzip 压缩传输。

  4. 支持 Server Name 配置化。

  5. 支持异步响应式服务。

  6. 支持启用debug模式打印 HTTP 请求&响应码流(生产环境慎用,可能存在信息安全隐患)。

  7. 其他代码优化及示例的补充。

原文链接:https://www.oschina.net/news/166709/smart-http-1-1-9-released
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章