我是node.js的新手,并且对服务器的工作方式有一些疑问。可能有些愚蠢,但是我对服务器的理解是,它是我们用来与他人共享我们的网站的工具。考虑以下代码:
var http = require("http");
http.createServer(function (request, response) {
// Send the HTTP header
// HTTP Status: 200 : OK
// Content Type: text/plain
response.writeHead(200, {'Content-Type': 'text/plain'});
// Send the response body as "Hello World"
response.end('Hello World\n');
}).listen(8081);
// Console will print the message
console.log('Server running at http://127.0.0.1:8081/');
当我们运行以下代码时,我们说我们已经“创建了服务器”。然后,当我们转到“ http://127.0.0.1:8081/ ”时,我们将获得所需的结果。但是,我不明白的是,如果我们“创建了服务器”,为什么只有执行node.js文件的计算机才能访问网址?我知道http://127.0.0.1:8081/不是唯一的,因此必须购买域名。或使用某种形式的免费托管。但是,我看不出这些东西是如何绑在一起的。
创建html文件时,我们可以在浏览器中查看它们,但是没有其他人可以浏览,因为我们没有设置服务器。我的想法是,一旦我了解了服务器,我最终将能够托管一个网站。我想在这里解释的是如何从 HTML , css javascript 等到建立一个网站的过程。
答案 0 :(得分:1)
我是node.js的新手,并且对服务器的工作方式有一些疑问。可能有些愚蠢,但是我对服务器的理解是,它是我们用来与他人共享网站的工具。
服务器一词非常笼统。简单来说,服务器是为客户端提供数据或功能(服务)的程序或计算机; 客户端是从服务器接收数据或服务的程序或计算机。
重要提示:服务器和客户端的概念并不是node.js或网站所独有的。这是其他一些类型的服务器:
服务器和客户端可以非常“靠近”(例如位于同一台计算机上的同一程序中),也可以彼此“相距很远”(例如位于内部)不同国家/地区的不同计算机,并通过Internet分开)。或者,它们可能位于两者之间的某个位置(例如位于同一房屋的不同计算机中)。
如果我们已经“创建了服务器”,为什么只有执行node.js文件的计算机才能访问网址?
127.0.0.1是特殊的 IP地址,也称为 localhost 。简单来说,它指的是“托管此应用程序的计算机” 。当您告诉Web浏览器访问127.0.0.1时,Web浏览器会在运行该服务器的同一台计算机上查找服务器。
如果您使用手机的网络浏览器来访问127.0.0.1,它将不会在您的计算机上寻找运行node.js的服务器。相反,它将在您的手机上寻找服务器。
如果要让手机在计算机上查看网站,则需要执行几个步骤。我会给您一个总结,但是您必须自己深入研究这些主题:
ipconfig
,如果运行Linux,则可以使用ifconfig
。8081
。这是另一天的话题。
我的想法是,一旦我了解了服务器,我终于可以托管一个网站了。
抱歉,这还不够。还有更多的参与。首先以粗体研究我已经提到的主题。