Skip to main content

1. Introduction (简介)

本文档定义了一个特定的协议,即DNS over HTTPS (DoH),用于通过HTTP [RFC7540] 使用https [RFC2818] URI (因此使用TLS [RFC8446] 提供完整性和机密性安全保护) 发送DNS [RFC1035] 查询和获取DNS响应。每个DNS查询-响应对被映射到一个HTTP交换中。

所描述的方法不仅仅是通过HTTP的隧道。它为请求和响应建立了默认的媒体格式类型,但使用正常的HTTP内容协商机制来选择端点可能更偏好的替代方案,以便为新的用例提供服务。除了这种媒体类型协商之外,它还与HTTP的功能特性保持一致,例如缓存 (Caching)、重定向 (Redirection)、代理 (Proxying)、身份验证 (Authentication) 和压缩 (Compression)。

与HTTP的集成为现有的DNS客户端和寻求访问DNS的原生Web应用程序提供了一个合适的传输方式。

在该协议的开发过程中考虑了两个主要用例。这些用例是防止路径上的设备干扰DNS操作,以及允许Web应用程序通过现有的浏览器API以符合跨源资源共享 (CORS) [FETCH] 的安全方式访问DNS信息。没有特别努力去启用或阻止应用于其他用例。本文档关注DNS客户端 (如操作系统存根解析器) 和递归解析器 (Recursive Resolvers) 之间的通信。