如果我们使用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方法绑定8080端口 http.createServer(function (request, response) { // 发送 HTTP 头部 // 发送响应数据 "Hello World" |
看看cmd运行结果:
用浏览器打开 http://127.0.0.1:8080/ ,浏览器显示结果如下截图
第一个应用就成功啦。下面来分析一下node.js的http服务器:
- 第一行require请求node.js自带的http模块,并且把它赋值给http变量。
- 调用http模块提供的函数:createServer。这个函数会返回一个对象,返回的对象有一个叫做listen的方法。listen方法带有一个数值参数,该参数用来指定http服务器监听的端口号。