gpt4 book ai didi

javascript - 为什么我的 Node 服务器处理请求两次?

转载 作者:行者123 更新时间:2023-11-30 08:32:12 24 4
gpt4 key购买 nike

我有以下简单的 Node 服务器。

const http = require('http');

http.createServer(function(req, resp) {

console.log("request arrived.")
resp.writeHead(200, { 'Content-Type': 'application/json' });
resp.end("Hello world!!");

}).listen(3000);

每当我使用 url http://localhost:3000/ 访问请求时,它打印 request arrived 消息两次。

我不知道,确切的原因是什么。请一些人解释一下。

我附上截图。 enter image description here

最佳答案

很可能浏览器正在请求 favicon.ico 文件。您可以通过打印 URL 来确认这一点,就像这样

console.log("request arrived for URL", req.url);

当我在我的机器上使用 Chrome 浏览器尝试这个时,我得到了

request arrived for URL /
request arrived for URL /favicon.ico

如果你想避免这种情况,那么你需要专门处理 favicon 请求。也许,你可以做这样的事情,如图所示 here

if (req.url === '/favicon.ico') {
resp.writeHead(200, {'Content-Type': 'image/x-icon'} );
resp.end();
console.log('favicon requested');
return;
}

console.log("request arrived.")
resp.writeHead(200, { 'Content-Type': 'application/json' });
resp.end("Hello world!!");

关于javascript - 为什么我的 Node 服务器处理请求两次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36011062/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com