オブジェクトHTTPサーバー
HttpServer は、HTTP サーバーの作成に使用される組み込みオブジェクトの 1 つです。 HttpServer オブジェクトには、ポートとイベント処理インターフェイス オブジェクトという 2 つの必須パラメータが含まれています。イベント処理インターフェイス オブジェクトでは、特定の実装メソッドとして、単純なコールバック関数、または複雑なルーティング、チェーン処理配列などを使用できます。
httpサーバーオブジェクトは次のようになりますTcpServerそしてHttpHandlerカプセル化されたオブジェクトを結合すると、論理的に次と同等のサーバーを簡単に迅速に構築できます。
1
2
3var svr = new net.TcpServer(addr, port, new http.Handler(function(req) {
...
}));
以下は最も単純な HttpServer アプリケーションの例です。これは、すべてのリクエストに対して文字列 hello world を返すだけです。
1
2
3
4
5const http = require('http');
var svr = new http.Server(8080, (req) => {
req.response.write('hello, world');
});
svr.start();
コードからわかるように、最初に組み込みのhttpモジュール。次に、新しい HttpServer オブジェクトを作成し、2 つの必要なパラメータを渡しました。1 つはポート番号で、もう 1 つは特定のイベント処理インターフェイス オブジェクトです。この例では、HTTP リクエストからのデータに応答するイベント処理インターフェイスとして単純なコールバック関数を使用します。これはreq.response.write('hello, world')
文字列 hello world をクライアントに応答するために使用されます。
HttpServer オブジェクトの作成が完了したら、 を使用してsvr.start()
サーバーを起動し、このサーバーを通じてインターネットから HTTP リクエストを受信できるようにします。
相続関係
コンストラクタ
HttpServer
HttpServer コンストラクター、すべてのローカル アドレスをリッスンします
1
2new HttpServer(Integer port,
Handler hdlr);
呼び出しパラメータ:
- port: 整数、指定httpサーバーリスニングポート
- hdlr:Handler、http組み込みメッセージプロセッサ、処理関数、チェーン処理配列、ルーティングオブジェクト、詳細は「」を参照mq.Handler
HttpServer コンストラクター
1
2
3new HttpServer(String addr,
Integer port,
Handler hdlr);
呼び出しパラメータ:
- addr: 文字列、指定しますhttpサーバーのリスニング アドレス。「」の場合、ローカル マシンのすべてのアドレスでリスニングします。
- port: 整数、指定httpサーバーリスニングポート
- hdlr:Handler、http組み込みメッセージプロセッサ、処理関数、チェーン処理配列、ルーティングオブジェクト、詳細は「」を参照mq.Handler
HttpServer コンストラクター
1
2new HttpServer(String addr,
Handler hdlr);
呼び出しパラメータ:
- addr: 文字列、指定しますhttpサーバーのリスニング アドレス。「」の場合、ローカル マシンのすべてのアドレスでリスニングします。
- hdlr:Handler、http組み込みメッセージプロセッサ、処理関数、チェーン処理配列、ルーティングオブジェクト、詳細は「」を参照mq.Handler
メンバーのプロパティ
maxHeadersCount
整数。リクエスト ヘッダーの最大数をクエリおよび設定します。デフォルトは 128 です。
1Integer HttpServer.maxHeadersCount;
maxHeaderSize
整数。リクエスト ヘッダーの最大長をクエリおよび設定します。デフォルトは 8192 です。
1Integer HttpServer.maxHeaderSize;
maxBodySize
整数。本文の最大サイズを MB 単位でクエリおよび設定します。デフォルトは 64 です。
1Integer HttpServer.maxBodySize;
enableEncoding
ブール値、自動解凍機能スイッチ、デフォルトでオフ
1Boolean HttpServer.enableEncoding;
serverName
サーバー名を文字列でクエリおよび設定します。デフォルトは fibjs/0.x.0 です。
1String HttpServer.serverName;
socket
Socket、サーバーは現在リッスンしていますSocket物体
1readonly Socket HttpServer.socket;
handler
Handler、サーバーの現在のイベント処理インターフェイス オブジェクト
1Handler HttpServer.handler;
メンバー関数
enableCrossOrigin
クロスドメインリクエストを許可する
1HttpServer.enableCrossOrigin(String allowHeaders = "Content-Type");
呼び出しパラメータ:
- allowHeaders: 受け入れられるように指定された文字列httpヘッダーフィールド
start
現在のサーバーを起動します
1HttpServer.start();
stop
ソケットを閉じて実行中のサーバーを中止します。
1HttpServer.stop() async;
toString
オブジェクトの文字列表現を返します。通常、「[Native Object]」が返されます。オブジェクトは、独自の特性に従って再実装できます。
1String HttpServer.toString();
返される結果:
- String、オブジェクトの文字列表現を返します。
toJSON
オブジェクトの JSON 形式表現を返します。通常は、オブジェクトによって定義された読み取り可能なプロパティのコレクションを返します。
1Value HttpServer.toJSON(String key = "");
呼び出しパラメータ:
- key: 文字列、使用されません
返される結果:
- Value、シリアル化可能な JSON を含む値を返します