# Http

# 创建请求

// 1. 引入 http 模块
var http = require("http");
// 2. 用 http 模块创建服务
/**
 * req 获取 url 信息 (request)
 * res 浏览器返回响应信息 (response)
 */
http
  .createServer(function(req, res) {
    // 设置 HTTP 头部,状态码是 200,文件类型是 html,字符集是 utf8
    res.writeHead(200, {
      "Content-Type": "text/html;charset=UTF-8"
    });
    // 往页面打印值
    res.write('<h1 style="text-align:center">Hello NodeJS 小鹏</h1>');
    // 结束响应
    res.end();
  })
  .listen(3000); // 监听的端口

在上面代码中可以清晰的看到 createSever 在内部调用了一个匿名函数,在 node 中他的工作原理就是基于事件驱动。
我们创建了服务器,并且向创建它的方法传递了一个函数。无论何时我们的服务器收到一个请求,这个函数就会被调用。

# 模块化

var http = require("http");
function httpServers() {
  http
    .createServer(function(req, res) {
     res.writeHead(200, {
        "Content-Type": "text/html;charset=UTF-8"
      });
     res.write('<h1 style="text-align:center">  NodeJS 小鹏</h1>');
      res.end();
    })
    .listen(6060);
}
exports.httpServers = httpServers;

模块化功能函数

var nodeHttp = require("./nodehttp");
nodeHttp.httpServers();

现在可以把我们的应用的不同部分放入不同的文件里,并且通过生成模块的方式把它们连接到一起了。