美好的一天!我很难解决这个问题。我目前正在使用节点js网络服务器(http)。
我是使用Node js的初学者,因此将不胜感激。
我希望实现的是显示一个字符串“ Hello World!”。在浏览器中通过URL访问它。问题是我正在从远程服务器运行脚本,但不幸的是我无法通过URL访问它。
脚本运行正常,但对于浏览器,它返回一条错误消息:
host didn’t send any data.
ERR_EMPTY_RESPONSE
这是我正在从远程服务器运行的脚本:
var http = require('http');
http.createServer(function (request, response) {
response.writeHead(200, {'Content-Type': 'text/plain'});
response.write('Hello World!');
response.end();
}).listen(2000);
我认为我的脚本没有问题。所以我猜这是从服务器的设置开始的,但是我不知道它是在哪个部分导致不显示它。我目前正在使用Linux服务器。
谢谢!
答案 0 :(得分:0)
据我所见,您正在侦听端口2000,您确定从中请求数据的url还包含端口,例如http://localhost:2000/?默认情况下,浏览器会尝试使用http上的80端口和https上的443端口进行连接,如果您正在侦听的端口与其他端口不同,则必须在URL中通过在域/ ip地址后使用“:”来定义它>
无论如何,看看服务器端rest API的express模块,将使请求处理变得如此简单:
const express = require('express');
const app = express().listen(80);
app.get("/",function(request,response){
response.send('Hello World');
});