top | item 46130784

Quad9 DOH HTTP/1.1 Retirement, December 15, 2025

103 points| pickledoyster | 2 months ago |quad9.net

61 comments

order

londons_explore|2 months ago

I think code to implement http/1.1 in whatever software stack they use would have been shorter than the blog post...

stingraycharles|2 months ago

I think you’re severely underestimating the complexity of http/1.1. It’s definitely much simpler than http/2, but it’s a lot of code that needs to be maintained.

MallocVoidstar|2 months ago

According to the RFC:

>The messages in classic UDP-based DNS [RFC1035] are inherently unordered and have low overhead. A competitive HTTP transport needs to support reordering, parallelism, priority, and header compression to achieve similar performance. Those features were introduced to HTTP in HTTP/2 [RFC7540]. Earlier versions of HTTP are capable of conveying the semantic requirements of DoH but may result in very poor performance.

I'd bet basically all their clients are using HTTP/2 and they don't see the point in maintaining a worse version just for compatibility with clients that barely exist.

werdl|2 months ago

probably not - it can be quite poorly defined in places and the edge cases can be very fiddly. by pushing for http/2 it encourages more users to pick it up imo

crimsonnoodle58|2 months ago

Mikrotik DoH user here. While I don't use Quad9, I do use 1.1.1.1. I hope they don't follow suit before Mikrotik get a chance to add HTTP/2 support (if ever).

hypeatei|2 months ago

> However, we are reaching the end of life for the libraries and code that support HTTP/1.1

What libraries are ending support for HTTP/1.1? That seems like an extremely bad move and somewhat contrived.

EE84M3i|2 months ago

HTTP versions less than 2 have serious unresolvable security issues related to http request/response smuggling and stream desynchronization.

https://http1mustdie.com/

gfody|2 months ago

I wonder too, for a DNS query do you ever need keepalive or chunked encoding? HTTP/1.0 seems appropriate and http2 seems overkill

dev_l1x_be|2 months ago

I never understood DOH over DOT. It makes sense if you want to hide DNS lookups so that people cannot block the DNS queries to ad and other scam networks.

jeroenhd|2 months ago

Thanks to the ossification of the internet, every new protocol or protocol extension needs to be over HTTPS.

DoT works fine, it's supported on all kinds of operating systems even if they don't advertise it, but DoH arrived in browsers. Some shitty ISPs and terrible middleboxes also block DoT (though IMO that should be a reason to switch ISPs, not a reason to stop using DoT).

On the hosting side, there are more options for HTTP proxies/firewalls/multiplexers/terminators than there are for DNS, so it's easier to build infra around DoH. If you're just a small server, you won't need more than an nginx stream proxy, but if you're doing botnet detection and redundant failovers, you may need something more complex.

wongogue|2 months ago

My ISP (my area is serviced by 1 more but they offer lower speeds) blocks the DoT port. They cannot block 443. If they start blocking popular DoH domains, I can use any of the mirrors or run my own over https://wongogue.in/catpics/

itopaloglu83|2 months ago

DOH prevents malicious network providers from blocking DOT traffic to enforce their own DNS services for “efficiency” reasons.

Most ISPs just want to sell your data and with encrypted client hello and DOH they’re losing visibility into what you’re doing.

zamadatix|2 months ago

DOT picked an odd port, DOH uses 443. Otherwise they both have the benefits of TLS.

josephcsible|2 months ago

Because if you're on the kind of malicious network that's the reason to use encrypted DNS at all, then your connection attempts on port 853 will probably just get blocked wholesale. DoH is better since it looks the same as all other HTTPS traffic.

And you can still block ad and scam domains with DoH. Either do so with a browser extension, in your hosts file, or with a local resolver that does the filtering and then uses DoH to the upstream for any that it doesn't block.

1vuio0pswjnm7|2 months ago

Anyone who has their DNS filtered, e.g., by ISPs that redirect DNS port numbers, like hotels, can use DoH to work around the problem

zokier|2 months ago

DoQ is better than either dot/doh

junon|2 months ago

It's both. In oppressive countries (Iran, China, Russia) where all traffic is filtered, DOH is supposed to help keep things concealed, too.

1vuio0pswjnm7|2 months ago

RFC 8484:

"5.2. HTTP/2

HTTP/2 [RFC7540] is the minimum RECOMMENDED version of HTTP for use with DoH."

One paper I read some years ago reported DoH is faster than DoT but for multiple queries in single TCP connection outside the browser I find that DoT is faster

I use a local forward proxy for queries with HTTP/2. (Using libnghttp2 is another alternative). In own case (YMMV) HTTP/2 is not signifcantly faster than using HTTP/1.1 pipelining

For me, streaming TCP queries with DoT blows DoH away

5d41402abc4b|2 months ago

HTTP/1.1 is still heavily used in embedded system.

jeroenhd|2 months ago

But is DoH? If your library is too old to support http2, what are the chances you've upgraded the DNS resolver to a DoH resolver?

Luckily it's pretty easy to run your own DoH server if you're deploying devices in the field, and there are alternatives to Quad9.

temp0826|2 months ago

NextDNS has a DOH3 (as in, http/3) endpoint but afaict it doesn't seem to always use http/3.