Deno 中如何处理 HTTP 请求及响应

Deno 是一个类似 Node.js 的 JavaScript 运行时环境,但是它有许多不同之处。其中一个重要的区别是 Deno 默认启用了安全性,它只允许有限的权限,例如访问文件系统、网络等。这使得 Deno 更加安全,但也会对处理 HTTP 请求和响应带来一些挑战。

本文将介绍如何在 Deno 中处理 HTTP 请求和响应,包括如何创建 HTTP 服务器、如何解析 HTTP 请求、如何发送 HTTP 响应等。

创建 HTTP 服务器

在 Deno 中创建 HTTP 服务器非常简单,只需要使用内置的 serve() 函数即可:

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

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

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

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

这段代码创建了一个 HTTP 服务器,并监听 8000 端口。当有请求到达时,服务器会响应一个包含 "Hello Deno!" 的 HTTP 响应。

解析 HTTP 请求

当收到 HTTP 请求时,我们通常需要解析请求中的信息,例如请求方法、请求头、请求体等。在 Deno 中,我们可以使用内置的 ServerRequest 类来解析 HTTP 请求:

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

这段代码中,我们使用了 req.method 获取请求方法,req.url 获取请求 URL,req.headers 获取请求头,await req.text() 获取请求体。然后我们打印了这些信息,并响应了一个 HTTP 响应。

发送 HTTP 响应

当我们需要向客户端发送 HTTP 响应时,我们可以使用 ServerRequestrespond() 方法:

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

这段代码中,我们使用了 respond() 方法发送了一个 HTTP 响应。我们指定了响应的状态码为 200,响应头中的 Content-Type 为 text/plain,响应体为 "Hello Deno!"。

总结

本文介绍了如何在 Deno 中处理 HTTP 请求和响应。我们学习了如何创建 HTTP 服务器,如何解析 HTTP 请求,以及如何发送 HTTP 响应。希望本文对读者能有所帮助,让大家更好地理解 Deno 中的 HTTP 处理方式。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/662ddaefd3423812e4b7ee2d