从零学习Node.js之搭建HTTP服务器(二)
在上一篇文章中,我们介绍了如何使用 Node.js 创建一个简单的 HTTP 服务器。本文将深入探讨如何处理 HTTP 请求以及添加路由功能。
处理 HTTP 请求
当客户端发送请求到服务器时,服务器需要对这个请求进行处理并返回相应的响应。在 Node.js 中处理 HTTP 请求的方式是通过监听 request
事件来实现的:
----- ---- - ---------------- ----- ------ - ----------------------- ---- -- - -- ---- --- --------------------
在上述代码中,我们创建了一个 HTTP 服务器,并监听了 request
事件。当有请求进来时,我们会在回调函数中处理请求。
获取请求信息
在处理请求之前,我们需要先获取请求的信息。在 Node.js 中,可以通过 req
对象来获取请求的信息。以下是一些常用的请求信息:
req.url
:请求的 URL。req.method
:请求的方法,例如 GET、POST 等。req.headers
:请求头。
例如,我们可以通过以下代码获取请求的路径:
----- ------ - ----------------------- ---- -- - ----- - --- - - ---- -------------------- ---- --------- ---
发送响应
处理完请求后,我们需要向客户端发送响应。在 Node.js 中,可以通过 res
对象来发送响应。以下是一些常用的响应方法:
res.setHeader(name, value)
:设置响应头。res.write(data)
:向响应体写入数据。res.end()
:结束响应。
例如,我们可以通过以下代码向客户端发送一个简单的 HTML 页面:
----- ------ - ----------------------- ---- -- - ----------------------------- ------------- -------------------------------- ---------------------------- ---------- ---
添加路由
在构建真实的 Web 应用程序时,通常会有多个 URL 需要处理。为了方便起见,我们可以使用路由来管理不同的 URL。
在 Node.js 中,可以使用第三方模块 express 来创建路由。以下是一些常用的 express 方法:
app.get(url, callback)
:处理 GET 请求。app.post(url, callback)
:处理 POST 请求。app.put(url, callback)
:处理 PUT 请求。app.delete(url, callback)
:处理 DELETE 请求。
例如,我们可以通过以下代码来实现一个简单的路由:
----- ------- - ------------------- ----- --- - ---------- ------------ ----- ---- -- - --------------- --------- --- ----------------- ----- ---- -- - --------------- ----- --- -----------------
在上述代码中,我们创建了一个 express 应用程序,并定义了两个路由:/
和 /about
。当用户访问这些 URL 时,服务器将分别返回相应的响应。
总结
在本文中,我们深入探讨了如何处理 HTTP 请求以及添加路由功能。通过学习本文的内容,您应该能够更好地理解 Node.js 的 HTTP 模块,并可以使用 express 来创建自己的路由。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/1869