NodeSchoolに入学しよう!

HTTPサーバーの作成

全333コースを10日間無料で

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
httpモジュールを使用して、HTTPサーバーを作成する方法について学びます。
講師:
07:50

字幕

このレッスンでは node js で httpサーバーを作成する方法について 学びます それではまず ワークショッパーを起動しましょう learnyounode エンター そして今回は この HTTP FILE SERVER という問題を解きます エンターを押します 問題 (画面参照) さてそれではでnodeで httpサーバーを作成する方法について 説明します まずはnodeの インタープリターを立ち上げましょう node エンター そして httpサーバーを作成する為に まず httpモジュールをロードします http = require http そしてサーバーを作成する為に httpモジュールの createServerメソッドを使います createServerには コールバック関数を渡します そしてそのコールバック関数には request オブジェクト と response オブジェクトが渡されます このrequest オブジェクトを使う事によって クライアント側から 送信されたデータを読み取ったり あるいはクライアントがどのような リソースに対して要求を行っているのか といった事を判断することが出来ます 又 response オブジェクトを 使う事によって クライアントに対して 実際にデータを送信することが出来ます request オブジェクト と response オブジェクト はそれぞれ リーダブルストリーム と ライタブルストリームになっています まずresponseの ヘッダーを設定することによって responseで返されるデータのタイプを 指定してあげましょう ヘッダーを追加する為には writehead そして一番目のパラメーターに ステータス番号を記述します 今回は 200 成功を示すステータス番号ですね これを返します そして 2番目にオブジェクトで ヘッダーを渡してやります 今回特に指定したいヘッダーは content-type ですね そしてこちらに text/plain プレーンテキスト形式で テキストを返すことを示します これでヘッダーの指定はOKです そしてresponseオブジェクトは ライタブル ストリームなので 例えば write と書いて この様にデータを書き込むことも出来ますし あるいはendで データを書いた直後に 接続を閉じることも出来ます 例えば end でメッセージを Hello world と書き込んでみましょう そして関数の定義を閉じて createServerを実行 サーバーの実行の為には listenメソッドを使用します listenにはlistenするポート番号を 与えてやります 20000 でlistenしてみましょう さてこれで サーバーの起動はできました 実際にChromeで ブラウザーを使ってアクセスしてみましょう localhost の 20000 これでlocalhostの 20000ポートに対して接続が出来ます この様に Hello world という 今記述した 文字列が返ってきました httpサーバーが 起動していることがわかります さてヒントはここまでです ではコマンドライン引数で 与えられたポート番号でListenして それから コマンドライン引数の 2番目で指定されたファイルを読みだして それをレスポンスとして返す httpサーバーを皆さん書いてみて下さい さていかがでしょう 皆さん問題は解けましたでしょうか では私の方で問題を解いていきたいと思います まずはプログラムのソースコードの 編集を開始します program.js そして今回 httpを使うので モジュールのロードからです require http それからもう1つ ファイルを読み込むので fsモジュールもロードします そして http も createServer で サーバー作成 createServer の 一番目のパラメーターは コールバックです コールバック は request object と response object を パラメーターとして受け取ります そしてサーバーを作成したら listen ですね listen するポート番号は コマンドライン・パラメーターで与えられます process の argv の 2 ですね それから listen に渡す前に parseInt で整数型に変換しておきます 整数型 というか数字型ですね これで サーバーの起動はできました 後はファイルを読み込んで それを response として返します その前に response の writehead で ステータスコードの設定と ヘッダーの設定をします ステータスコードは 200 成功を示す ステータスコードです そして content type の text/plain これでヘッダーとステータスコードの設定が 完了です 後はファイルを読み込んで返すだけです ファイルを返すために ファイルの リーダブルストリームを 作成しましょう fs の createReadStream の 読み込むファイルのパスは コマンドライン引数で与えられます これでストリームが作成できたので 後は stream を response に対して pipe してやります response自身が ライタブルストリームの一種ですので pipeに渡すことが出来ます これでこの読み込んだファイルのデータを responseに対してすべて 流し込むことが出来ます pipeが終わると 自動的にendが呼ばれて 接続も切断されます では検証をしてみましょう learnyounode verify program.js argvの部分でタイプミスをしていましたね 修正します 余計な s が入ってしまっていました では修正したので再度実行します テストが通って 合格となりました このレッスンでは node js で httpサーバーを作成する方法について 学びました

NodeSchoolに入学しよう!

NodeSchoolワークショッパーとは、オープンソースで開発されているNode.jsやJava Scriptについて学ぶためのクイズ形式のアプリケーションです。このコースでは、learnyounodeとexpressworksという2つのワークショッパーを通じてNode.jsとExpress.jsの基本的な使い方を学びます。

3時間13分 (24 ビデオ)
現在、カスタマーレビューはありません…
 
ソフトウェア・トピック
Node.js Node.js 0.10.24
価格: 3,990
発売日:2015年04月07日

このコースは、「オンデマンド」でご利用可能であり、ダウンロードすることもオンラインで見ることもできます。

ダウンロードすると、オフラインでコースを使用し、豊富なインターフェースをフルに活用できます。複数のデバイスを使用したり、 一度に全コースをダウンロードしたくない場合は、アカントにログインして、ストリーミング・ビデオとしてコースのレッスンを視聴してください。

ビデオトレーニングをお楽しみいただけますように! お問い合わせは、cs-jp@lynda.com宛までご連絡ください。