Node.js はじめてのサーバ側処理
前回の記事でHelloWorldを作ってみたので
今回はNode.jsの基本である(らしい)HTTPサーバを作ってみます。
HTTPサーバの作成
コード
まずは参考書をまねしてコーディングする。
helloHttp.js
var http = require('http'); // サーバの作成 var server = http.createServer(function(req,res){ res.writeHead(200,{'Content-Type':'text/html'}); res.end('<h1>Hello! HTTP! Node.js!</h1>'); }); // 8080ポートを受け付け server.listen(8080); console.log('server Start on 8080');
実行
コーディング後、コマンドプロンプトにて実行する
>node helloHttp.js
実行すると、console.logに記載していた箇所が表示される。
無事表示できたところでhttpリクエストを投げてみる。
ブラウザを立ち上げ、URLに「http://localhost;8080/」と入力。
レスポンスとしてres.end();の内容が返ってきた。
内容
サーバ作成
まず1行目
var http = require('http');
どうやらimport処理のようなもので、http通信をする際に必要なモジュールの読み込みをしているらしい。
3行目~
var server = http.createServer(function(req,res){ )}
読み込んだモジュールを使いサーバの作成をやってくれているっぽい。
req はリクエスト、res はレスポンスの値が入っているのかな。
HTTP作成
res.writeHead(200,{'Content-Type':'text/html'}); res.end('<h1>Hello! HTTP! Node.js!</h1>');
HTTPヘッダの作成とHTTPの中身の作成ですね。
中身の記載方法ですが、参考資料では上のように書いてましたが、
別のサイトを見る限り以下でも行けそうです。
res.writeHead(200,{'Content-Type':'text/html'}); res.write('<h1>Hello! HTTP! Node.js!</h1>'); res.end();
と、いうかこちらのほうがメソッド名的に正しそう。
待ち受けポート設定
最後
// 8080ポートを受け付け
server.listen(8080);
待ち受けるポートの設定です。
ここで設定したポートをURLに指定しないと、接続できませんね。
試しに4649ポートに書き換えた後に同じURLで接続に行っても失敗します。
// 4649ポートを受け付け
server.listen(4649);
感想
数行でサーバを立てられるのはすごいな。
今まで私が触ってきたのは、TomcatとJavaでサーバを立てたり、IISを使ってサーバを立てたりしていました。
とにかくサーバ用のアプリケーションを入れて、別途設定等が必要だったのですが、Node.jsではいとも簡単にできてしまうんですね。
次は、HTML+CSS+JavaScript+Node.jsの連携をしてみたいです。