nの値が1,3,5,7,9...のようになります。
1,2,3,4,5...のように期待しているのですが
どこが原因でしょうか。
node.jsのバージョンはv0.10.26です。
よろしくお願いいたします。
var http = require('http'),
fs = require('fs'),
ejs = require('ejs');
var settings = require('./settings');
var server = http.createServer();
var template = fs.readFileSync(__dirname + '/public_html/hello.ejs', 'utf-8');
var n = 0;
server.on('request', function(req, res) {
n++;
var data = ejs.render(template, {
title: "hello",
content: "<strong>World!</strong>",
n: n
});
res.writeHead(200, {'Content-Type': 'text/html'});
res.write(data);
res.end();
});
server.listen(settings.port, settings.host);
console.log("server listening ...");
ただ、一方で、以下dotinstallみていたのですが、
そこでは1,2,3,4というようになっていました。
この違いは、nodeのバージョンの違いなのか、chromeのバージョンの違い
なのか、それともなのでしょうかね^^;
favicon がキャッシュされているのだと思います。
同じドメインで適当なページで favicon の設定したページを表示した後にこのプログラムを動かしてみたら1,2,3,4となると思います。
どうやって検証しているのでしょうか。
もしもブラウザで検証しているのであれば、ブラウザは開いた時にpath自身へのリクエストとfaviconへのリクエストもするので、2つのリクエストがほぼ同時のタイミングで飛ぶことになります。
以下のように変更して内容を確認してみてください。
server.on('request', function(req, res) {
console.log('Request url : ' + req.url);
console.log('n : ' + n);
n++;
var data = ejs.render(template, {
title: "hello",
content: "World!",
n: n
});
ご回答ありがとうございました。
おっしゃるとおり、いただいたコードで実行しましたら、
path自身へのリクエストとfaviconへのリクエストがデバッグにでていました。
(検証はブラウザです)
ただ、一方で、以下dotinstallみていたのですが、
そこでは1,2,3,4というようになっていました。
この違いは、nodeのバージョンの違いなのか、chromeのバージョンの違い
なのか、それともなのでしょうかね^^;
http://dotinstall.com/lessons/basic_nodejs/26210
nodeのバージョンの違いでこうなることは考えにくいので、browserの違いじゃないかと思います。
ただ、一方で、以下dotinstallみていたのですが、
そこでは1,2,3,4というようになっていました。
この違いは、nodeのバージョンの違いなのか、chromeのバージョンの違い
なのか、それともなのでしょうかね^^;
favicon がキャッシュされているのだと思います。
同じドメインで適当なページで favicon の設定したページを表示した後にこのプログラムを動かしてみたら1,2,3,4となると思います。
ああ、そういうことでしたか。ありがとうございます。確認してみます。
ああ、そういうことでしたか。ありがとうございます。確認してみます。
2015/05/27 22:34:06