smart-httpはJava言語で記述されたHttpサーバーであり、業界でよく知られているWebコンテナーとは異なります。Tomcat、Undertow、smart-httpはサーブレット仕様をサポートしていませんが、Httpサーバーに必要なすべての機能を備えています。 。
smart-httpは、通信コアがsmart-socketを使用しているため、非同期のノンブロッキングI / Oモデルとして生まれました 。したがって、パフォーマンスと安定性の両方が優れています。
コンテンツを更新する
- Httpデコードアルゴリズムは、読みやすさのために最適化され、パフォーマンスのためにわずかに最適化されています。
- Kotlinと互換性のある抽象クラスHandleを開きます。
- 応答は、ヘッダー値の削除をサポートします。
- スマートhttpスタートバナーを追加し、スイッチ制御をサポートします。
- ネチズンのおかげで、websocketスティッキーパッケージシナリオのマスク解析のバグを修正しました。これは、長年にわたって最も過酷なフィードバックです。
- ローカル/リモートアドレスを取得するためのWebSocketRequestの新しいインターフェイス:getRemoteAddress、getLocalAddress
クイックエクスペリエンス
- Mavenプロジェクトにsmart-http依存関係を導入します。
<dependency> <groupId>org.smartboot.http</groupId> <artifactId>smart-http-server</artifactId> <version>1.0.18</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を要求する
その他のドキュメントについては、https://smartboot.gitee.io/book/smart-http/をご覧ください。
福祉の瞬間: smart-httpに基づくServletコンテナは、中国で最初の自己開発のServletコンテナでもある可能性があります。smart-servlet は現在オープンソースです。このプロジェクトでは、コミュニティの開発者を共同建設に招待するよう努めます。興味のある友人が私たちに参加して、一緒に素晴らしいことをすることを歓迎します。