如果我们使用php来编写后端的代码时,需要apache或者nginx的http服务器,并配上mod_php5模块和php-cgi。
从这个角度看,整个"接收http请求并提供web页面"的需求根本不需要php来处理。
不过对node.js来说,概念完全不一样了。使用node.js时,我们不仅仅在实现一个应用,同时还实现了整个http服务器。事实上,我们的web应用以及对应的web服务器基本上是一样的。
在我们创建node.js第一个"hello, world!"应用前,让我们先了解下node.js应用是由哪几部分组成的:
引入required模块:我们可以使用require指令来载入node.js模块。
创建服务器:服务器可以监听客户端的请求,类似于apache 、nginx等http服务器。
接收请求与响应请求:服务器很容易创建,客户端可以使用浏览器或终端发送http请求,服务器接收请求后返回响应数据。
我们使用require指令来载入http模块,并将实例化的http赋值给变量http,实例如下:
var http = require("http");
接下来我们使用http.createserver()方法创建服务器,并使用listen方法绑定8888端口。 函数通过request, response参数来接收和响应数据。
实例如下,在你项目的根目录下创建一个叫server.js的文件,并写入以下代码:
var http = require('http');
http.createserver(function (request, response) {
// 发送 http 头部
// http 状态值: 200 : ok
// 内容类型: text/plain
response.writehead(200, {'content-type': 'text/plain'});
// 发送响应数据 "hello world"
response.end('hello world\n');
}).listen(8888);
// 终端打印如下信息
console.log('server running at http://127.0.0.1:8888/');
以上代码我们完成了一个可以工作的http服务器。
使用node命令执行以上的代码:
node server.js
server running at http://127.0.0.1:8888/
接下来,打开浏览器访问http://127.0.0.1:8888/,你会看到一个写着"hello world"的网页。
分析node.js的http服务器:
接下来我们通过gif图为大家演示实例操作: