Node.js 创建最简单的 HTTP 服务器详解
本文详细介绍如何使用 Node.js 内置的 http 模块创建最简单的 HTTP 服务器。通过解析 createServer 方法,深入讲解 request 和 response 对象的结构、属性及事件处理机制,并结合代码实例演示如何监听端口、设置响应头及返回数据,帮助开发者快速掌握 Node.js 网络编程基础。
Node.js HTTP 服务器核心概念
引子
var http = require('http');
http.createServer(function(request, response){
response.writeHead(200, { 'Content-Type': 'text-plain' });
response.end('Hello World\n');
}).listen(8124);
Node.js 中 http 模块提供了顶层的 createServer 方法用于创建服务器实例。与服务器运行密切相关的核心事件主要包括两个:请求事件(request)和响应事件(response)。在 createServer 回调函数的定义中,第一个参数对应 request 对象,用于接收客户端请求;第二个参数对应 response 对象,用于向客户端发送响应数据。
HTTP 请求处理机制
HTTP 请求处理机制
1. http 请求事件——request 事件
HTTP 请求的具体信息由 http.request 事件触发并传递。在 Node.js 中,事件通常表现为对象,而对象则具备特定的属性和方法供开发者调用。
该 request 事件所传递的请求信息对象类型为 http.ServerRequest。作为一个对象,它包含了处理请求所需的各种属性和方法。
2. http.ServerRequest 的属性
request 对象包含以下关键属性:

http.ServerRequest 对象主要描述客户端发送的请求信息,该信息结构由两部分组成: 1. 请求头(Request head) 2. 请求体(Request body) 请求头中的数据量通常较小,解析后即可立即读取。相比之下,请求体的数据传输可能需要较长时间,具体取决于数据大小和网络状况。
3. http.ServerRequest 相关的事件
与 http.ServerRequest 对象交互时,主要涉及以下四个事件,具体细节可参考相关表格:

HTTP 响应处理机制
HTTP 响应处理机制
1. http 响应事件——response 事件
当服务器接收到客户端发送的 http.ServerRequest 数据并进行处理后,需要向客户端返回响应。这一过程通过 response 事件实现,在服务器回调函数中,response 作为第二个参数传入。与该对象相关的方法包括:

2. response 对象的属性
response 事件所发送的数据对象类型为 http.ClientResponse(注:在服务器端上下文通常指代响应流对象,此处依原文表述)。该对象描述了响应信息,同样由两部分组成: 1. 响应头(Response head) 2. 响应体(Response body)
该对象的具体属性定义如下表所示:

3. http.ClientResponse 相关的事件
与响应信息处理相关的事件主要包括以下几个:

代码实例与操作步骤
引子代码讲解
//引入内置模块http模块
var http = require('http');
//2
http.createServer(function(request, response){
response.writeHead(200, { 'Content-Type': 'text-plain' });
response.end('Hello World\n');
}).listen(8124);
在注释标号为2的代码处,意思是http当中有个createServer的方法,里头的功能函数的参数就是两个,第一个就是request事件,第二个就是response事件。 在这个函数体内部呢 response.writeHead就是一个写响应头的方法, 1. 200是HTTP状态码,表示成功处理了此次请求, 2. {'Content-Type':'text-plain'}这个是个MIME标准的格式描述。 告诉浏览器,返回的内容类型是个啥东西,text-plain就是MIME类型。 3. response.end()表示的就是响应事件传输数据结束。因为请求没有发送请求体数据,所以没有触发data事件。
http.createServer(function(request,response){}).listen(8124);
上述代码构成了一个最简单的服务器示例,其监听的是服务器本地的 8124 端口。
操作步骤第一步:将引子中的代码保存为 .js 文件,随后使用 Node.js 环境运行该 JS 文件。
运行效果如图所示:

操作步骤第二步:在浏览器中访问服务器端口(本地 8124 端口),即可看到服务器程序返回的响应信息。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。
Java和JavaScript的应用场景分工:后端企业级开发与Web前端交互
2026-11-05 15:57:34
除了浏览器和Node.js,还有哪些轻量级Js脚本运行工具?
2026-11-04 17:38:24
无需后端:用JavaScript实现简单网站的本地数据存储
2026-11-03 23:03:30
Node.js 下载慢或官网打不开怎么办
2026-11-03 18:19:37
JS解析大体积Excel文件内存溢出怎么办
2026-11-03 18:19:37
