跳到主要内容

1. 简介 (Introduction)

本文档定义了一种特定协议, DNS over HTTPS (DoH), 用于通过 HTTP [RFC7540], 使用 https [RFC2818] URI 发送 DNS [RFC1035] 查询并获取 DNS 响应 (因此使用 TLS [RFC8446] 安全机制来提供完整性和机密性). 每个 DNS 查询-响应对都会映射为一次 HTTP 交换.

这里描述的方法不只是 HTTP 上的隧道. 它为请求和响应建立默认的媒体格式类型, 同时使用常规 HTTP 内容协商机制来选择端点可能偏好的替代格式, 以便服务新的用例. 除这种媒体类型协商之外, 它还与缓存, 重定向, 代理, 身份认证和压缩等 HTTP 特性保持一致.

与 HTTP 的集成为现有 DNS 客户端以及希望访问 DNS 的原生 Web 应用提供了一种合适的传输方式.

在开发此协议时考虑了两个主要用例. 这些用例包括防止路径中设备干扰 DNS 操作, 以及允许 Web 应用通过现有浏览器 API 以安全方式访问 DNS 信息, 并与跨源资源共享 (Cross Origin Resource Sharing, CORS) [FETCH] 保持一致. 本文档未特别致力于支持或阻止其应用于其他用例. 本文档关注 DNS 客户端 (例如操作系统存根解析器) 与递归解析器之间的通信.