私は単純なノードサーバーを持っています。それは、req.headersとres(私は学んでいます!)を記録するだけです。私のブラウザから2つのリクエストがあるのはなぜですか?
let http = require('http');
function handleIncomingRequest(req, res) {
console.log('---------------------------------------------------');
console.log(req.headers);
console.log('---------------------------------------------------');
console.log();
console.log('---------------------------------------------------');
res.writeHead(200, {'Content-Type': 'application/json'});
res.end(JSON.stringify({error: null}) + '\n');
}
let s = http.createServer(handleIncomingRequest);
s.listen(8080);
私はcurlを使用してサーバーをテストすると、1つの要求を送信します。私はクロムを使用するとき2つの異なる要求を送信します。
{ host: 'localhost:8080',
connection: 'keep-alive',
'cache-control': 'max-age=0',
'upgrade-insecure-requests': '1',
'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36',
accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
'accept-encoding': 'gzip, deflate, sdch, br',
'accept-language': 'en-GB,en;q=0.8' }
と
{ host: 'localhost:8080',
connection: 'keep-alive',
'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36',
accept: 'image/webp,image/*,*/*;q=0.8',
referer: 'http://localhost:8080/',
'accept-encoding': 'gzip, deflate, sdch, br',
'accept-language': 'en-GB,en;q=0.8' }
通常モードで3つの要求があるので、これはシークレットモードであります! ブラウザは何をしていますか、なぜですか?
ウェブサイトでテストしていますか?この場合、埋め込まれた画像、CSSファイル、スクリプトなどのリクエストである可能性があります。ブラウザは、これらのリソースを取得するために、別々のHTTPリクエストを自動的に送信します。 – Schlangguru
ウェブサイトがありません。サーバーコードを追加しました。 – leonormes
あなたはどのように正確にあなたの要求をクロームで送信しますか? – Schlangguru