Node.Js Webサーバープログラムをつくろう

Node.js

前回確認をしましたが、Node.jsはサーバーサイドのプログラミング言語です

これまでのコードでは特にサーバーに関係していませんでした

Node.jsはサーバープログラムそのものを開発します

といってもやはりよくわかりませんよね…

今回の記事では実際にWebサーバーを作成してみましょう

※ちなみに当然Node.jsですのでNode.jsをインストールしていないとエラーがでますので

まだの人はまず環境構築から準備しましょう!くわしくはこちらの記事へどうぞ

下が今回実行するコードです

httpを準備する

まずはhttpオブジェクトのロードを行います

httpというのはHyper Text Transfer Protocolの略で、クライアントとWebサーバーとの間で文書などの情報をやりとりする時に使われる通信手順(プロトコル)のことです。

最初の

const http = require(‘http’);

の一文でhttpオブジェクトのロードを行っています

requireというメソッドを利用しているのがわかると思います

Node.jsではオブジェクトをモジュールとして管理して、必要なモジュールをロードして利用します

そのモジュールのロードが行われているのがこの最初の一文です

書き方は

変数=require(モジュール名);

メソッドの引数にロードするモジュール名を入れます

これによって、ロードされたモジュールは変数にオブジェクトとして入力します

ちなみに変数名は通常ロードするモジュール名にします

そのほうがわかりやすいですよね

サーバーオブジェクトの作成

次にサーバーオブジェクトを作成します

サーバープログラムを作るというのは具体的にいうと、つまり「サーバーオブジェクトを作成して実行する」ということです

それが次の一文です

server = http.createServer((request,response)=>{処理})

httpオブジェクトに用意されているcreateServer()メソッドを使うことでサーバーオブジェクトが作成できます

Javascriptを勉強してきた人はよく見る形ですね

そうですcreateServer()メソッドの引数にはアロー関数が使われています

ややこしいですのでちょっと分けます

server = http.createServer(関数)

関数の中身にアロー関数

(request,response)=>{ 処理}

アロー関数は二つの引数request,responseを持っています

requestがサーバーへのリクエスト(要求)で、responseがサーバーがそれを受けての返信です

これにより、サーバーに誰かがアクセスると、この関数が呼び出されて処理が行われるということです

レスポンスで処理をする

ということで、サーバーにクライアントからアクセスがあった場合に今回は

response.end(‘Hello world!’);

の一文で処理を行います

responseはこの形を見るとピンとくる人もいると思いますが

オブジェクトです

responseのendメソッドはその名前の通り、返信を終了するというメソッドです

引数にテキストがある場合はそれを出力して返信を終えることになります

待ち受けの状態

最後の一文

server.listen(3000);

で、作成されたサーバーオブジェクトをlisten()というメソッドで待ち受け状態にしてアクセスを待っています

引数には待ち受けるポート番号を指定します

ここでは3000番ということです

ここで作成されたサーバーはPC上のローカルサーバーです

ローカルサーバーへのアクセスは

http://localhost:3000というアドレスになります

実行する

http://localhost:3000にアクセス!

は気が早いです

先に実行をしましょう!

そうするとサーバーが「待ち受け」状態になります

何も動かないですが、ここでWebブラウザからアクセスしてみましょう

ということでうまくいきましたね

あとは、ずっとプログラムが動いたままですので停止をしておきましょう

ターミナルを選択した状態でCTRL+Cで中断できます

中断した後にもう一度アクセスしてみるとこうなりました

当たり前ですね・・・笑

YouTubeもよろしくね!

コメント

タイトルとURLをコピーしました