smart-http轻量级的开源 HTTP 服务器
smart-http 是一款采用 Java 语言编写的 Http 服务器,有别于业界知名的 Web容器:Tomcat、Undertow,smart-http 并不支持 Servlet 规范,但对于 Http 服务器所需的各项能力,它都具备。
smart-http 天生就是异步非阻塞的 I/O 模型,因为其通信内核采用了 smart-socket。所以无论是性能还是稳定性,都是非常出色的。 在 4核 2.9GHz 的电脑下服务启动耗时毫秒级,压测的 QPS 可达 73W,流量传输效率每秒突破百兆。
更新内容
- 支持任意Method的Http请求(GET、POST、PUT、自定义)
- 提供了URL路由组件,可以快速搭建一套静态服务器。
- 支持部分RFC2612规范,后续会逐渐完善。
- 支持Https协议,由smart-socket为其赋能。
- 具备文件上传的能力。
- 支持 websocket
快速体验
- 在您的Maven工程中引入smart-http依赖。
<dependency> <groupId>org.smartboot.http</groupId> <artifactId>smart-http-server</artifactId> <version>1.0.13</version> </dependency>
- 拷贝以下代码并启动。
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(); } }
- 浏览器访问:http://localhost:8080/ 或采用ws客户端请求ws://127.0.0.1:8080
评论