1. ホーム
  2. node.js

[解決済み] nodejs - http.createServer が2回呼び出されるようです。

2023-04-27 04:53:04

質問

nodeで以下のようなプログラムを書くとしたら。

  http.createServer(function (req, res) {

    if( req.method == 'GET' ) {
      var body = ''; req.on('data', function(data) { body += data });
      req.on('end',  function() {
        console.log('request ended')
      });
    }

    res.writeHead(200, {'Content-Type': 'text/plain'});
    res.end('142\n');
  }).listen(3500);

そして、サーバーに http://xxx.xx.xxx.xx:35010 を見ると request ended が 2 回表示されています。1 回の HTTP リクエストでなぜ 2 回実行されるのか、よくわかりません。

どのように解決するのですか?

ブラウザが複数の呼び出しを行うのは正常です。

ほとんどのブラウザは /favicon.ico などのように

urlを記録してみてください。

console.log(req.url);

をクリックすると、何が呼び出されているかがわかります。