Node.js 中 http 模块的用法

阅读时长 4 分钟读完

在前端开发中,我们经常会用到 Node.js 来进行服务器端的开发。而服务器端最基本的功能就是提供 HTTP 服务,因此 Node.js 中内置了一个 http 模块来实现这个功能。本文将详细介绍 http 模块的用法,包括创建服务器、处理请求、发送响应等内容。

创建服务器

在 Node.js 中创建一个 http 服务器非常简单,只需要调用 http 模块的 createServer 方法即可:

-- -------------------- ---- -------
----- ---- - ----------------

----- ------ - ----------------------- ---- -- -
    --------------- ---------
---

------------------- -- -- -
    ------------------- -- --------- -- ---- -------
---

以上代码创建了一个 http 服务器,并将其监听在 3000 端口。当有请求到达时,服务器会返回一个字符串“Hello, world!”。

处理请求

在 http 服务器中,当有请求到达时,会触发 request 事件。通过监听这个事件,我们可以获取到请求的信息,并进行相关处理。例如,以下代码中的函数会输出请求的 URL:

-- -------------------- ---- -------
----- ---- - ----------------

----- ------ - ----------------------- ---- -- -
    ---------------------
    --------------- ---------
---

------------------- -- -- -
    ------------------- -- --------- -- ---- -------
---

我们可以通过 req.url 属性来获取请求的 URL。然而,这个值并不一定是合法的 URL,它可能包含查询字符串和 hash 等信息。因此,我们需要使用 Node.js 内置的 url 模块来对其进行解析:

-- -------------------- ---- -------
----- ---- - ----------------
----- --- - ---------------

----- ------ - ----------------------- ---- -- -
    ----- --------- - ------------------ ------
    --------------------------------
    -----------------------------
    ----------------------------
    --------------- ---------
---

------------------- -- -- -
    ------------------- -- --------- -- ---- -------
---

在以上代码中,我们通过 url.parse 方法来解析请求的 URL,并从解析结果中提取出 pathname、query 和 hash 三个部分,分别输出到控制台。其中,第二个参数为 true 表示将 query 解析为一个对象。

发送响应

当处理完请求后,服务器需要将结果发送给客户端。在 http 模块中,我们可以使用 res 对象来发送响应,例如:

-- -------------------- ---- -------
----- ---- - ----------------

----- ------ - ----------------------- ---- -- -
    -------------- - ----
    ----------------------------- --------------
    ----------------- ---------
    ----------
---

------------------- -- -- -
    ------------------- -- --------- -- ---- -------
---

在以上代码中,我们通过设置 statusCode 和 setHeader 方法来设置响应头,然后使用 write 方法向客户端写入响应体。最后,必须调用 end 方法来结束响应。

总结

通过本文的介绍,我们了解了 http 模块的基本用法,包括创建服务器、处理请求、发送响应等内容。在实际开发中,我们还可以使用 http 模块来创建代理服务器、发送 HTTP 请求等。相信掌握这些知识后,您会更加熟练地使用 Node.js 进行前端开发。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64a298df48841e9894f08a35

纠错
反馈