Deno 是一个安全的 TypeScript 运行时环境,为开发者提供了许多实用的模块和工具,其中就包括了 Https 模块。本教程将为读者详细介绍 Deno Https 模块的使用方法。
Https 模块介绍
Deno 的 Https 模块使得我们可以轻松地创建和管理加密的 Https 服务器,同时也提供了一些实用工具来发送 Https 请求。
Https 模块中最常用的两个类是 ServerRequest
和 Response
,前者被用于处理来自客户端的请求,后者则被用于向客户端发送响应。另外,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