There should be a series of interactions between a DoH client and resolver. For instance, the DoH resolver's IP address should be resolved first, followed by establishing a TCP connection, completing a TLS handshake, and finally sending a DoH query to the DoH resolver.
Many details in this process depend significantly on three factors: browsers, DoH resolvers, and HTTP methods. We defined the combination of these options as the 'request combination' and measured its effects on DoH downgrades.
An example of interactions between the DoH client and the DoH resolver during DoH resolution.
We conducted a thorough analysis of the code bases of two major browsers, Chromium and Firefox*. Based on this analysis, we defined a total of twelve unique DoH request combinations as listed below.
Twelve request combinations with anonymized DoH resolvers.
* Safari is intentionally excluded; DoH is supported by MacOS but not by the browser itself.
You can find the downgrade rates for each country based on request combinations below, categorized by continents. Each X-axis represents request types in consecutive order.
Note that China only has eight request combinations. This is because we avoided using one DoH resolver that is prohibited in China.