Return-Path: <sebdeckers83@gmail.com>
X-Original-To: doh@ietfa.amsl.com
Delivered-To: doh@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1])
 by ietfa.amsl.com (Postfix) with ESMTP id 689BB130ECC
 for <doh@ietfa.amsl.com>; Mon, 17 Sep 2018 20:22:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.749
X-Spam-Level: 
X-Spam-Status: No, score=-1.749 tagged_above=-999 required=5
 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1,
 DKIM_VALID_AU=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25,
 FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001,
 SPF_PASS=-0.001] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key)
 header.d=gmail.com
Received: from mail.ietf.org ([4.31.198.44])
 by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id DqiTAvwe1pkb for <doh@ietfa.amsl.com>;
 Mon, 17 Sep 2018 20:22:01 -0700 (PDT)
Received: from mail-qt0-x235.google.com (mail-qt0-x235.google.com
 [IPv6:2607:f8b0:400d:c0d::235])
 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
 (No client certificate requested)
 by ietfa.amsl.com (Postfix) with ESMTPS id C7EF5130E5B
 for <doh@ietf.org>; Mon, 17 Sep 2018 20:22:01 -0700 (PDT)
Received: by mail-qt0-x235.google.com with SMTP id j7-v6so464181qtp.2
 for <doh@ietf.org>; Mon, 17 Sep 2018 20:22:01 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; 
 h=mime-version:from:date:message-id:subject:to:cc;
 bh=lqtppbasaMh2E8pM5Ig98EqIfJpwDsylCeDb5Jmrs5s=;
 b=cJjPhXMIy21sBxACFQztt5mrRvVEodT8xwUdQSehaPCry2kZjrT0n1ZoX5uiYSMviD
 tIQjXAVRSFbllXbFdVcoHzVO2GQFCWCrHpTe8QsBhY2StBq2S+0nTUE/iMQetvMQ1jwt
 ypj2il0Q3reMlDPVj7+l7O1vPASnz0pBwF7n4RlK2kVF6dF97VSxCkYDfqMtXmnlcRrc
 PUkN7Zq60uTbIk73vDDZ1q0qL3KsR1Fp6mEtuOqlNcweieDqmYDGnom3uTkKrIpROAcz
 jfvtWFrxYtX3yqoVbsnX1utvjLCSduMRRsfY7jZ1/8y76H4xwyJbVm2zK0q6iGlsEDFR
 n+yw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:mime-version:from:date:message-id:subject:to:cc;
 bh=lqtppbasaMh2E8pM5Ig98EqIfJpwDsylCeDb5Jmrs5s=;
 b=hDVksYWhO7CAwsnpPJypMQ7C4SJG9tI1nsU96ulYr12Sl4rVmyUNahOMuPITwUQF2t
 Wsx8MeOR7lv2aeDxy0qLhoR006WilPeC3I9VltwdC99lujwducZnyaK50e3z7l3O3B+X
 fQ22UD6rQXefFHrFPItImLMd6ayYuB+Jf+rX4x4TJK9N2e3dEYmutpJzoFP8978vlPSv
 urpClYVZifVZ22jb911TX9PwMJ4//8AD6tClzQwk4RyIZe9rkWJcLzPv//L/B9z3Nwr9
 7p4md4XY1AWja67Jvr6zX/4YRCGgY0I/ownmFxQO4sZS81eZefZC8v7nQZmC0JHTQMbk
 6+LA==
X-Gm-Message-State: APzg51DjBTEA3vKshKLGi4M6fog/5LxrRFahruEU7xGFPjubZeIs7MOR
 dsyMy0nfrQ0bCw84iNeZDGVHI0VJ9dtKm0uJbBoDWsQ1
X-Google-Smtp-Source: ANB0VdaB9ycPCHu0Kv/V7OCgHKmZm1Cd1Y4z35tZMURAiYVSx4tML16NpU9CTx5nWLvo9/wcXW2kj+lY+zsQddnm/qU=
X-Received: by 2002:ac8:255c:: with SMTP id
 28-v6mr19755315qtn.88.1537240919759; 
 Mon, 17 Sep 2018 20:21:59 -0700 (PDT)
MIME-Version: 1.0
From: Sebastiaan Deckers <sebdeckers83@gmail.com>
Date: Tue, 18 Sep 2018 11:21:48 +0800
Message-ID: <CADVGGb8+znpFStX4Qn3S4oCqOp1Np9uDPVXfS0V8nQecN3P+FA@mail.gmail.com>
To: doh@ietf.org
Cc: Kenny Shen <kenny@machinesung.com>
Content-Type: multipart/alternative; boundary="000000000000f4dfe705761ccacf"
Archived-At: <https://mailarchive.ietf.org/arch/msg/doh/tp5MQadSgIuzl20lU7aQAfrzbwY>
Subject: [Doh] POST and GET
X-BeenThere: doh@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: DNS Over HTTPS <doh.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/doh>,
 <mailto:doh-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/doh/>
List-Post: <mailto:doh@ietf.org>
List-Help: <mailto:doh-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/doh>,
 <mailto:doh-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 18 Sep 2018 03:22:04 -0000

--000000000000f4dfe705761ccacf
Content-Type: text/plain; charset="UTF-8"

Draft 14, 4.1. The HTTP Request:

> DoH servers MUST implement both the POST and GET methods.

What is meant by the word "implement"?

I have *implemented* both GET and POST code paths. But do they need to
exposed in every use case? I want to be able to support GET only for server
push, for example, and otherwise restrict client requests to POST.

GET requires much more processing from a DOH proxy. I.e. parse the DNS
response packet to find the lowest TTL for HTTP cache-control header
max-age. As an operator I may want to disable support for GET requests from
the client and return 405 or 501.

I love the idea of pushing DNS responses as GET. This is lightweight and
can be easily injected by a DOH proxy. However the current draft, in
section 5.3, does not impose a similar "MUST implement both" requirement on
the client. Should it?

Seb

--000000000000f4dfe705761ccacf
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr">Draft 14, 4.1. The HTTP =
Request:<div><br></div><div>&gt;=C2=A0<span style=3D"color:rgb(0,0,0);font-=
size:13.333333015441895px">DoH servers MUST implement both the POST and GET=
 methods.</span></div><div><span style=3D"color:rgb(0,0,0);font-size:13.333=
333015441895px"><br></span></div><div><font color=3D"#000000" size=3D"2"><s=
pan>What is meant by the word &quot;implement&quot;?</span></font></div><di=
v><font color=3D"#000000" size=3D"2"><span><br></span></font></div><div><fo=
nt color=3D"#000000" size=3D"2"><span>I have *implemented* both GET and POS=
T code paths. But do they need to exposed in every use case? I want to be a=
ble to support GET only for server push, for example, and otherwise restric=
t client requests to POST.</span></font></div><div><font color=3D"#000000" =
size=3D"2"><span><br></span></font></div><div><font color=3D"#000000" size=
=3D"2"><span>GET requires much more processing from a DOH proxy. I.e. parse=
 the DNS response packet to find the lowest TTL for HTTP cache-control head=
er max-age. As an operator I may want to disable support for GET requests f=
rom the client and return 405 or 501.</span></font></div><div><font color=
=3D"#000000" size=3D"2"><span><br></span></font></div><div><font color=3D"#=
000000"><span>I love the idea of pushing DNS responses as GET. This is ligh=
tweight and can be easily injected by a DOH proxy. However the current draf=
t, in section 5.3, does not impose a similar &quot;MUST implement both&quot=
; requirement on the client. Should it?</span></font></div><div><font color=
=3D"#000000"><span><br></span></font></div><div><font color=3D"#000000"><sp=
an>Seb</span></font></div></div></div></div>

--000000000000f4dfe705761ccacf--

