const http = require('http'); // Node.js 内置的 http 模块
/**
- 请求事件发生时调用的回调函数 (Node.js 是执行单线程异步非阻塞事件驱动的)
*/
function requestListener(req, rep) {
console.log("Request received."); // 当我们启动服务器访问网页时, 服务器可能会输出两次 'Request received.', 那是因为大部分浏览器都会在你访问 http://localhost:8080/ 时尝试读取 http://localhost:8888/favicon.ico 站点图标
rep.writeHead(200, {'Content-Type':'text/html'}); // 响应头
rep.write('Hello World
'); // 响应主体
rep.end(); // 完成响应
}
/**
- 创建一个基础的 HTTP 服务器
- 请求 http 模块提供的函数 createServer 创建一个服务器对象, 并调用该对象的 listen 方法监听 8080 端口
- See Also:
- createServer 函数的源码解析: https://blog.csdn.net/THEANARKH/article/details/88385964
- Node.js 是事件驱动: https://segmentfault.com/a/1190000014926921
*/
http.createServer(requestListener).listen(8080);
console.log("Server has started.");