Deno Https 模块使用教程

Deno 是一个安全的 TypeScript 运行时环境,为开发者提供了许多实用的模块和工具,其中就包括了 Https 模块。本教程将为读者详细介绍 Deno Https 模块的使用方法。

Https 模块介绍

Deno 的 Https 模块使得我们可以轻松地创建和管理加密的 Https 服务器,同时也提供了一些实用工具来发送 Https 请求。

Https 模块中最常用的两个类是 ServerRequestResponse,前者被用于处理来自客户端的请求,后者则被用于向客户端发送响应。另外,Https 模块也提供了许多用于处理 Https 请求的工具函数。

创建 Https 服务器

我们可以使用 createServer 函数来创建一个 Https 服务器,该函数接受一个回调函数作为参数。这个回调函数将会在每个请求到达服务器时被调用,并传入一个 ServerRequest 对象和一个 Response 对象。

以下是一个简单的使用例子:

import { serveTLS } from "https://deno.land/std/http/server.ts";
import { serveFile } from "https://deno.land/std/http/file_server.ts";

const options = {
  hostname: "localhost",
  port: 8000,
  certFile: "./certificate.pem",
  keyFile: "./key.pem"
};

const server = serveTLS(options);

console.log(`HTTPS server running on port ${options.port}`);

for await (const req of server) {
  const path = req.url === "/" ? "/index.html" : req.url;
  serveFile(req, path);
}

在上面这个例子中,我们使用 serveTLS 函数创建了一个服务器,并传入了以下参数:

  • hostname:服务器所在的主机名。这里我们使用了默认值 localhost
  • port:服务器所监听的端口号。在这个例子中,我们使用了 8000
  • certFile:用于验证服务器身份的证书文件路径。
  • keyFile:用于对 Https 连接进行加密的私钥文件路径。

在服务器创建成功之后,我们使用 for await 循环来监听所有请求。在每个请求处理的过程中,我们使用了 serveFile 函数来将请求所需要的文件发送给客户端。

发送 Https 请求

Deno Https 模块也提供了一些实用工具函数来发送 Https 请求。其中最常用的函数是 fetch,该函数接收一个 URL 字符串和一个 RequestInit 对象作为参数。这个 RequestInit 对象用于配置请求,它可以包含诸如请求头,请求方法等信息。

以下是一个简单的使用例子:

const response = await fetch("https://example.com", { method: "GET" });
console.log(await response.text());

在上面这个例子中,我们使用了 fetch 函数来发送一个 GET 请求到 https://example.com 网站,并打印出了服务器返回的响应内容。

总结

在本文中,我们详细介绍了 Deno Https 模块的使用方法,并且提供了一些实用的示例代码。通过学习本教程后,开发者们应该可以轻松地创建和管理自己的 Https 服务器,并且可以方便地向其他服务器发送 Https 请求,从而改进开发效率。

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