Part9:HTTP

海未「ではお待ちかね、HTTPを見てみましょう、といっても、HTTPサーバの例は何度も見てきましたね」

海未「しかしこれだけでは、ただ文字列を送り返すだけでWebアプリケーションと呼べるものではありません。データを受け取れなくては何もできませんね」
ことり「ちゅんちゅんしか言わないのもね・・・」
海未「そこでまずは、HTTPリクエストに含まれる様々な情報を取得してみましょう」

海未「これに対して、http://127.0.0.1/?msg=にっこにっこにーでアクセスしてみてください」
穂乃果「どれどれっ・・・あ、なんか色々出てきた」

Method: GET
URL: /?msg=%E3%81%AB%E3%81%A3%E3%81%93%E3%81%AB%E3%81%A3%E3%81%93%E3%81%AB%E3%83%BC
UA: Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86 Safari/537.36
にっこにっこにー

海未「リクエストメソッド、URL、ユーザエージェントは引数req、実体はhttp.ServerRequestのプロパティとして取得できます」
ことり「HTTPリクエストを見れば送られてきた情報は全部見られるんだね」
海未「はい。このServerRequestStreamでありEventEmitterでもありますから、情報はここから読み出すことになります」

海未「GETパラメータを取得するには、urlモジュールを使うのが手軽です。parseメソッドが返すのは」

海未「こんな感じのJSONデータです。このqueryから値を拾ってください」

海未「これで、GETで値を受け取って加工して返すサーバは書けるようになりました。次はPOSTですね」

海未「なんとなく、見覚えがあるのではないでしょうか」
ことり「ストリームだね」
海未「その通りです。このServerRequestはストリームですから、ファイルと似たようにデータの読み込みが行えます」

海未「こんなフォームを用意して実際に試してみてください」

穂乃果「うん。にっこにっこにーって表示されるね」
海未「ここまでできれば、あとはHTMLを文字列で組み立てて返すような世界です。シンプルなWebアプリケーションならここまでの知識で十分でしょう」


LINEで送る
Pocket


返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です