客户端向服务器发送两次请求?
Client is sending request twice to server?
我对服务器和节点还很陌生。我创建了一个非常基本的 httpserver 并尝试在控制台上打印连接数。下面是相同的代码
var count = 0;
var http = require("http");
var server = http.createServer(function(request,response){
response.writeHead(200, {"Content-Type": "text/html"});
count++;
console.log('Count' + count);
response.end(count + '');
});
server.listen(8080);
console.log("Server is listening");
三个连接计数值增加到 6 后,请告诉我为什么每个 http 请求计数增加 2
您的浏览器可能会请求其他 URL,例如 favicon.ico,这是许多浏览器为了找到可以显示为网站代表的小图标而做的事情。
为了防止这种情况发生,您可以检查 request.url
特定路径,并且仅在路径符合您的预期时才应用您的逻辑。
这是您可以做到的一种方法:
var count = 0;
var http = require("http");
var server = http.createServer(function(request,response){
if (request.url === "/") {
response.writeHead(200, {"Content-Type": "text/html"});
count++;
console.log('Count' + count);
response.end(count + '');
} else {
response.writeHead(404, {"Content-Type": "text/html"});
response.write("Content not found");
response.end();
}
});
server.listen(8080);
console.log("Server is listening");
我对服务器和节点还很陌生。我创建了一个非常基本的 httpserver 并尝试在控制台上打印连接数。下面是相同的代码
var count = 0;
var http = require("http");
var server = http.createServer(function(request,response){
response.writeHead(200, {"Content-Type": "text/html"});
count++;
console.log('Count' + count);
response.end(count + '');
});
server.listen(8080);
console.log("Server is listening");
三个连接计数值增加到 6 后,请告诉我为什么每个 http 请求计数增加 2
您的浏览器可能会请求其他 URL,例如 favicon.ico,这是许多浏览器为了找到可以显示为网站代表的小图标而做的事情。
为了防止这种情况发生,您可以检查 request.url
特定路径,并且仅在路径符合您的预期时才应用您的逻辑。
这是您可以做到的一种方法:
var count = 0;
var http = require("http");
var server = http.createServer(function(request,response){
if (request.url === "/") {
response.writeHead(200, {"Content-Type": "text/html"});
count++;
console.log('Count' + count);
response.end(count + '');
} else {
response.writeHead(404, {"Content-Type": "text/html"});
response.write("Content not found");
response.end();
}
});
server.listen(8080);
console.log("Server is listening");