- http…HTTPの各種機能をまとめたライブラリ
var server = http.createServer();
- ↑
createServer
メソッドでhttp.Server
オブジェクトを作成 http.Server
はクラスで、次のイベントを持つEvent Emitter
Event | 関数 | |
---|---|---|
request | function (request, response){} |
リクエストの度に生成 |
connection | function (socket) { } |
新しいTCPストリームが確立したとき(通常使わない?) |
close | function (){} |
サーバがクローズしたとき |
checkContinue | function (request, response) { } |
httpの Expect: 100-continue リクエストを受信する度に生成 |
connect | function (request, socket, head) { } |
クライアントが HTTP の CONNECT メソッドを要求する度に生成 |
upgrade | function (request, socket, head) { } |
クライアントが HTTP のアップグレードを要求する度に生成 |
clientError | function (exception, socket) { } |
クライアントコネクションが 'error' イベントを発したとき |
- 第1引数
request
オブジェクトはhttp.IncomingMessage
のインスタンスで、クライアントからのリクエストに関する機能がまとめられている - 第2引数
response
オブジェクトはhttp.ServerResponse
のインスタンスで、サーバーからクライアントへ戻されるレスポンスに関する機能がまとめられている
server.on('request', doRequest);
-
on
メソッド(指定のイベント処理を組み込むためのもの)で、第1引数にイベント名を、第2引数に組み込む処理(関数)をそれぞれ指定 -
ここでは
request
イベントにdoRequest
という関数を割り当てている -
クライアントがサーバーにアクセスしたときに
request
イベントが発生し、関数doRequest
が呼ばれる -
socket.IOと同じ感覚
とりあえずここまで
-
参考サイト http://nodejs.jp/nodejs.org_ja/api/http.html#http_http
httpモジュールに関しては「サーバサイドJavaScript Node.js入門」のHTTPの章を読んでみましょう.APIリファレンスには少ししか記載されていないことも書いてあるので,新たな発見があると思います.