node.jsでサーバーを作成

node.jsでwebサーバーを作成する際にはhttpモジュールとそのオブジェクトからcreateServerメソッドで作成します。このブログのどっかの記事でnode.jsはサーバーっぽいみたいなこと書いてしまいましたが、node.jsはサーバーそのものでした。なのでnode.jsを起動させること自体がnode.jsでサーバーを作ることになってしまうわけです。
で、サーバーを作って、そのサーバーにリクエストしてそのレスポンスをとってという流れになります。
[sourcecode language="javascript"]var http = require('http');
var net = require('net');
var server = http.createServer();

server.on('request',function(req, res){
res.writeHead(200, {'Content-Type':'text /plain'});
res.write('hello world');
res.end();
});

server.listen(3000);
console.log("server listening....");
コード的にはこんな感じになっています。最近phpばっかり書いていたのでヘッダなんかすっかり意識していませんでしたが、node.jsではヘッダーから書いてあげるんですね。perlとかrubyと同じですね。phpが特殊なだけです。
で、表示するテキストをwriteしてあげるという段取りです。
最後の方のlistenのところで、
server.listen(3000, '123.456.789.111');
みたいな書き方があるんですが、バーチャルホストなどでそのインスタンスなどに割り振られているIPアドレスとデフォルトのDocumentRootが違う場合なんかはDNSでエラーが出てしまうので、単に省略して構わないです。私の場合も例外ではなくバーチャルホストでもっていろいろやっているので、第二引数のIPアドレス部分は省略します。
server.listen(3000);
いつものようにnodeでこのjsを起動させてブラウザーからアクセスするとwriteしたテキストが表示されます。