- 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リファレンスには少ししか記載されていないことも書いてあるので,新たな発見があると思います.