Aller au contenu principal

1. Introduction

Ce document définit un protocole spécifique, DNS over HTTPS (DoH), pour envoyer des requêtes DNS [RFC1035] et obtenir des réponses DNS via HTTP [RFC7540] en utilisant des URI https [RFC2818] (et donc la sécurité TLS [RFC8446] pour l'intégrité et la confidentialité). Chaque paire requête-réponse DNS est mappée dans un échange HTTP.

L'approche décrite est plus qu'un simple tunnel sur HTTP. Elle établit des types de formatage de média par défaut pour les requêtes et les réponses, mais utilise des mécanismes de négociation de contenu HTTP normaux pour sélectionner des alternatives que les points de terminaison peuvent préférer en prévision de nouveaux cas d'usage. En plus de cette négociation de type de média, elle s'aligne sur les fonctionnalités HTTP telles que la mise en cache (Caching), la redirection (Redirection), le proxy (Proxying), l'authentification (Authentication) et la compression (Compression).

L'intégration avec HTTP fournit un transport adapté à la fois aux clients DNS existants et aux applications web natives cherchant à accéder au DNS.

Deux cas d'usage principaux ont été pris en compte lors du développement de ce protocole. Ces cas d'usage sont la prévention de l'interférence des dispositifs sur le chemin avec les opérations DNS, et également permettre aux applications web d'accéder aux informations DNS via les API de navigateur existantes de manière sécurisée, cohérente avec le partage de ressources entre origines (CORS) [FETCH]. Aucun effort particulier n'a été fait pour activer ou empêcher l'application à d'autres cas d'usage. Ce document se concentre sur la communication entre les clients DNS (tels que les résolveurs stub du système d'exploitation) et les résolveurs récursifs (Recursive Resolvers).