http.createServer() 十行代码起一个 Web 服务器:每个请求触发回调,参数是请求对象 http.createServer() 十行代码起一个 Web 服务器:每个请求触发回调,参数是请求对象 http.createServer() 十行代码起一个 Web 服务器:每个请求触发回调,参数是请求对象
Node.js 词条目录
前端Wiki/Node.js/深入/http 模块

起一个 HTTP 服务器

http.createServer() 十行代码起一个 Web 服务器:每个请求触发回调,参数是请求对象 req(IncomingMessage)与响应对象 res(ServerResponse)。

res 要做三件事:writeHead(状态码, 头部) 写响应头、write(数据) 写响应体、end() 结束响应——end() 不写浏览器会一直转圈。listen(端口) 后服务器就算上线了。

  • req:请求方法 req.method、路径 req.url、头 req.headers
  • res:writeHead 写状态码头、write 写正文、end 必须调用
  • listen(3000) 后 Ctrl+C 停止;端口被占用会抛 EADDRINUSE
JS
const http = require('http');

const server = http.createServer((req, res) => {
  console.log(req.method, req.url);          // GET /

  res.writeHead(200, { 'Content-Type': 'text/plain; charset=utf-8' });
  res.write('你好,Node.js!\n');
  res.end('请求路径: ' + req.url);
});

server.listen(3000, () => {
  console.log('服务器已启动: http://localhost:3000');
});
本节要点http.createServer(req, res):writeHead 定状态、write 写内容、end 收尾,最后 listen(端口) 上线。