smart-http轻量级的开源 HTTP 服务器

联合创作 · 2023-10-01 14:32

smart-http 是一款采用 Java 语言编写的 Http 服务器,有别于业界知名的 Web容器:Tomcat、Undertow,smart-http 并不支持 Servlet 规范,但对于 Http 服务器所需的各项能力,它都具备。

smart-http 天生就是异步非阻塞的 I/O 模型,因为其通信内核采用了 smart-socket。所以无论是性能还是稳定性,都是非常出色的。 在 4核 2.9GHz 的电脑下服务启动耗时毫秒级,压测的 QPS 可达 73W,流量传输效率每秒突破百兆。

更新内容

  1. 支持任意Method的Http请求(GET、POST、PUT、自定义)
  2. 提供了URL路由组件,可以快速搭建一套静态服务器。
  3. 支持部分RFC2612规范,后续会逐渐完善。
  4. 支持Https协议,由smart-socket为其赋能。
  5. 具备文件上传的能力。
  6. 支持 websocket

快速体验

  1. 在您的Maven工程中引入smart-http依赖。
    <dependency>
        <groupId>org.smartboot.http</groupId>
        <artifactId>smart-http-server</artifactId>
        <version>1.0.13</version>
    </dependency>

     

  2. 拷贝以下代码并启动。
    public class SimpleSmartHttp {
        public static void main(String[] args) {
            HttpBootstrap bootstrap = new HttpBootstrap();
            //http消息
            bootstrap.pipeline().next(new HttpHandle() {
                public void doHandle(HttpRequest request, HttpResponse response) throws IOException {
                    response.write("hello world".getBytes());
                }
            });
            //websocket消息
            bootstrap.wsPipeline().next(new WebSocketHandle() {
                public void doHandle(WebSocketRequest request, WebSocketResponse response) throws IOException {
                    response.sendTextMessage("hello world");
                }
            });
            bootstrap.setPort(8080).start();
        }
    }

     

  3. 浏览器访问:http://localhost:8080/ 或采用ws客户端请求ws://127.0.0.1:8080
浏览 10
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报