• Node-http请求
    Node提供了http模块用于提供http请求和客户端接口
    1
    const http = require('http');

  • 创建一个基本的http服务器
    创建一个Node服务器需要调用http.createServer()函数;该函数接收一个回调函数作为参数,该回调函数接收两个参数:req和res。服务器每次接收到新的请求时都会调用该回调函数。

    1
    2
    3
    http.createServer((req, res) => {
    // 处理请求逻辑
    })

    服务器每收到一条http请求,都会使用新的req和res对象触发请求回调函数。在触发回调函数之前,Node会解析请求的HTTP头,并将它们作为req对象的一部分提供给请求回调。但是Node不会在回调函数被出发前开始对请求体进行解析。

  • 结束请求响应
    Node并不会自动的往客户端写入响应,因此在请求回调函数调用完成之后就应该手动的调用res.end()方法结束响应。如果没有结束响应,那么请求将会挂起,直到客户端超时,或者它会一直处于打开状态。如下图的生命周期图例所示:

  • Node读取请求头和设定响应头
    Node提供了几个修改Http响应头的方法:
    1. res.setHeader(field, value);
    2. res.getHeader(field);
    3. res.removeHeader(field);