node.js 中的不同 HTTP 响应类型反映相同的结果

different HTTP response types in node.js reflect same result

我在node.js中编写了以下创建服务器代码:

var http = require("http");

http.createServer(function (request, response) {
    response.writeHead(200, {'Content-Type': 'text/plain'});
    response.end("Howdy");
}).listen(8081);

console.log("server running on port 8081"); 

这很好用,当 运行 在本地主机上时,我在浏览器上得到了响应。因为 HTTP 状态 200 意味着 OK 请求(成功的 HTTP 请求),我尝试使用 404,将第 4 行编辑为:

response.writeHead(404, {'Content-Type': 'text/plain'});

但我仍然在浏览器上得到与 http 状态 200 相同的响应。因为 404 应发送 "Page not found" 类型的通知,我想知道我的代码或 http 服务器配置是否有任何问题, 还是浏览器?

您可以 return 包含 404 响应的内容,浏览器将显示该内容。通常,它是某种消息,以更友好的站点特定方式通知最终用户他们的页面请求未找到。你可以在这里看到一个例子:https://www.google.com/whatever or here http://www.cnn.com/whatever.

您不应该使用 404 状态,除非 URL 请求确实未找到或不是有效的请求路径。例如,搜索引擎不会索引 returns 404.

的页面