推荐答案
-- -------------------- ---- -------
----- ---- - ----------------
----- --- - ---------------
----- ----------- - -----------------------
----- ------ - ----------------------- ---- -- -
----- - ------- ---- ------ - - ----
----- --------- - ----------------- ------
-- ------- --- ------ -
-- -------
------------------ - --------------- ------------ ---
----------------- -------------------------------------
- ---- -- ------- --- ------- -
-- --------
--- ---- - ---
-------------- ----- -- -
---- -- -----------------
---
------------- -- -- -
----- -------- - ------------------------
------------------ - --------------- ------------ ---
------------------ ------------------------------
---
- ---- -
------------------ - --------------- ------------ ---
--------------- --- ----------
-
---
------------------- -- -- -
------------------- -------------------------
---
本题详细解读
1. 引入必要的模块
http
模块用于创建HTTP服务器。
url
模块用于解析URL。
querystring
模块用于解析POST请求的请求体。
2. 创建HTTP服务器
- 使用
http.createServer()
方法创建一个HTTP服务器实例。
- 回调函数接收
req
(请求对象)和 res
(响应对象)两个参数。
3. 处理GET请求
- 通过
req.method
判断请求方法是否为 GET
。
- 使用
url.parse()
方法解析请求的URL,获取查询参数。
- 将查询参数通过
res.end()
方法返回给客户端。
4. 处理POST请求
- 通过
req.method
判断请求方法是否为 POST
。
- 使用
req.on('data')
事件监听器收集请求体数据。
- 使用
req.on('end')
事件监听器在请求体数据接收完毕后,解析请求体数据。
- 将解析后的POST请求参数通过
res.end()
方法返回给客户端。
5. 处理其他请求方法
- 如果请求方法不是
GET
或 POST
,返回 405 Method Not Allowed
状态码。
6. 启动服务器
- 使用
server.listen()
方法启动服务器,监听指定端口(如3000)。