当前位置:首页 » JavaScript技术

Node.js Up and Runing 学习日记(一)

2017-08-12 09:40 本站整理 浏览(11)

认识一个Node.js程序

HTTP模块是专为快速非阻塞式HTTP服务器而用C重新编写的.

1. var http = require('http');
2. http.createServer(function(req, res){
3.      res.writeHead(200,{'Content-Type':'text/html'});
4.      res.end('hello world!');
5. }).listen('8230','127.0.0.1');
6. console.log('server running in 127.0.0.1/8230');

流程说明

  • 首先通过require()方法把HTTP库包含到程序中来

当前需要了解到的是,HTTP库所既有的功能已经赋给了http对象

  • 下一步创建HTTP服务器

  • 或者创建一个HTTP实例来调用HTTP模块的一个工厂模式方法(createServer)来创建新的HTTP服务器

新的HTTP服务器并没有赋值给任何变量,它只会成为存活在全局范围内的匿名对象

  • 我们可以通过链式调用来初始化服务器,并告诉它监听8124端口.

  • 当调用createServer的时候,传入一个匿名函数作为参数

绑定在新创建服务器的事件监听器上进行request事件处理

消息事件是javascript和Node的核心

在这个例子中,每当一个新的访问请求到达Web服务器,它都将调用我们指定的函数方法来处理,称之为回调.

因为每当一个事件发生时,我们将回调监听此事件的所有函数.

  • 回调函数有两个参数:
  1. 请求的对象(req)

  2. 响应的对象(res)

    通常会需要同时使用请求和响应对象.

  • res.writeHead()来设置HTTP响应头,否则就不能返回真实内容给客户端

其中状态码:200表示OK.

  • 并且传入一段HTTP头描述,这里只指定Content-Type.一般有两种类型:

text/plain 表示一般文本;

text/html 表示HTML文本

  • 在本例中 end() 来同时完成写入正文以及关闭连接

end方法会关闭HTTP连接,但因为我们传入一个字符串,所以会在发送此内容后才关闭连接

  • 最后一行调用console.log()标准输出stdout流上打印信息.

运行

node hello.js

然后在浏览器打开 <127.0.0.1/8230>.


Date : 2017/08/05 20:30