Node.js の GET/POST リクエスト


多くのシナリオでは、サーバーはフォームの送信など、ユーザーのブラウザーを処理する必要があります。

サーバーに送信されるフォームは通常、GET/POST リクエストを使用します。

この章では、Node.js の GET/POST リクエストを紹介します。


GET リクエストの内容を取得する

GET リクエストはパスに直接埋め込まれているため、URL は ? 以降の部分を含む完全なリクエスト パスとなるため、次の内容を GET リクエストのパラメータとして手動で解析できます。

node.js の url モジュールの parse 関数がこの機能を提供します。ブラウザで

var http = require('http');
var url = require('url');
var util = require('util');

http.createServer(function(req, res){
    res.writeHead(200, {'Content-Type': 'text/plain'});
    res.end(util.inspect(url.parse(req.url, true)));
}).listen(3000);

にアクセスhttp://localhost:3000/user?name=w3c&email=w3c@w3cschool.cc し、返される結果を確認します:

w3cnodejs

POSTリクエストのコンテンツを取得します

POSTリクエストのすべてのコンテンツはリクエストボディにhttp.ServerRequestの属性contentを持っていません。その理由は、リクエスト本文の送信を待つのに時間がかかる可能性があるためです。

たとえば、ファイルをアップロードする場合、多くの場合、悪意のある POST リクエストはサーバー リソースを大幅に消費します。デフォルトでは、リクエスト本体は解析されません。 必要な場合は手動で行う必要があります。

りー