Subject: Re: [Doh] [dnsoverhttp] [Ext] Caching model

From: Erik Kline <[email-masked]>
Date: Tue, 31 Oct 2017 12:50:33 +0900

(moving dnsoverhttp@ to bcc, adding doh@)

On 31 October 2017 at 10:45, Mark Nottingham <[email-masked]> wrote:
>
>
>> On 31 Oct 2017, at 12:40 pm, Ben Schwartz <[email-masked]> wrote:
>>
>> This is not the working group list!
>>
>> Conveniently that means that I am not chair here, so I can have opinions.
>>
>> I like the idea of zeroing out the TTL on the wire, and converting the TTL into an HTTP Expires header.  If the client is using HTTP caching, it can leave the TTL at zero.  Otherwise, it should reconstitute the DNS TTL from the Expires header.
>
> +1, although it needs to be the Freshness Lifetime (i.e., accounting for both Cache-Control and Age as well).
>
>
>
>>
>> On Mon, Oct 30, 2017 at 9:33 PM, Martin Thomson <[email-masked]> wrote:
>> On Tue, Oct 31, 2017 at 1:12 AM, Paul Hoffman <[email-masked]> wrote:
>> > Are you saying that the DNS API client might be keeping its own cache with timeouts?
>>
>> Well, my DNS library does today.  We might do as Mark suggests, and
>> take steps to disable that, but that might not be the easiest way to
>> integrate DOH into an existing stack.  If I wanted to retrofit my
>> operating system so that gethostbyname() used HTTPS, then that is
>> (apparently) possible by replacing the protocol-y bits of the code.
>> But it might be too disruptive to disable caching.  Maybe someone who
>> has had hands on there can speak to that.

Mobile operators have requirements that the DNS resolver layer on the
device cache answers locally.  IIRC this cache has to be shared among
apps (different apps may ask for the same hostname, like popular ads
and analytics services).