Re: [Netconf] usage of HTTP in restconf-notif-07

Martin Bjorklund <mbj@tail-f.com> Mon, 17 September 2018 19:17 UTC

Return-Path: <mbj@tail-f.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5A277130EE4 for <netconf@ietfa.amsl.com>; Mon, 17 Sep 2018 12:17:56 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 a-8N_fg8-Bvj for <netconf@ietfa.amsl.com>; Mon, 17 Sep 2018 12:17:54 -0700 (PDT)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id 319B6130EFF for <netconf@ietf.org>; Mon, 17 Sep 2018 12:17:54 -0700 (PDT)
Received: from localhost (h-80-27.A165.priv.bahnhof.se [212.85.80.27]) by mail.tail-f.com (Postfix) with ESMTPSA id 0B4301AE0311; Mon, 17 Sep 2018 21:17:53 +0200 (CEST)
Date: Mon, 17 Sep 2018 21:17:52 +0200
Message-Id: <20180917.211752.1252883710011024711.mbj@tail-f.com>
To: rrahman@cisco.com
Cc: netconf@ietf.org
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <8F072D11-DBE6-456D-98D0-D55E1C9A0734@cisco.com>
References: <20180917.194518.233902533629875552.mbj@tail-f.com> <8F072D11-DBE6-456D-98D0-D55E1C9A0734@cisco.com>
X-Mailer: Mew version 6.7 on Emacs 24.5 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
Content-Type: Text/Plain; charset="utf-8"
Content-Transfer-Encoding: base64
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/P1v_NC004TgXIw_NkEX0qlt4QBw>
Subject: Re: [Netconf] usage of HTTP in restconf-notif-07
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 17 Sep 2018 19:18:02 -0000

"Reshad Rahman (rrahman)" <rrahman@cisco.com> wrote:
> Hi,
> 
> PSI.
> 
> On 2018-09-17, 1:45 PM, "Netconf on behalf of Martin Bjorklund"
> <netconf-bounces@ietf.org on behalf of mbj@tail-f.com> wrote:
> 
>     Hi,
>     
>     I think the -07 version is a step in the right direction for this
>     draft.  But I have a comment on the usage of HTTP/2.
>     
>     I am not an expert at all in HTTP/2, but I wonder if the way this
>     draft uses it is correct.  The draft is very short on details, but
>     essentially says that the client POSTs to the "uri" that the server
>     returns (probably w/o a body?), and then that the server sends
>     individual notifications in DATA frames.  Is this really legal?  RFC
>     7540, section 8 says:
>     
>        HTTP/2 is intended to be as compatible as possible with current uses
>        of HTTP.  This means that, from the application perspective, the
>        features of the protocol are largely unchanged.  To achieve this, all
>        request and response semantics are preserved, although the syntax of
>        conveying those semantics has changed.
>     
>     It seems to me that the restconf-notif draft violates this paragraph.
> 
> <RR> Ack, HTTP semantics have to be followed, there's no reason to do
> otherwise. I'll check to see what details/clarifications can be added.
>     
>     In fact, it seems that what the draft tries to do is more or less
>     exactly the same as SSE, except w/o the details, e.g., it doesn't
>     specify the content-type.
>     
>     It also seems to me (after some googling) that it is perfectly fine to
>     use standard SSE with HTTP/2, and that's what people are using to
>     deliver server-generated events/notifs to clients with HTTP/2.
>     
>     So, this draft should probably not mention HTTP/2 at all, but instead
>     just specify the semantics of the "uri" resource and how a client can
>     POST to it to get SSE going.  The draft should the refer to section
>     6.4 of RFC 8040 for how notifications are sent from this resource.
> 
> <RR> My understanding is that HTTP2 is mentioned in the draft so that
> we can use HTTP2 streams. The point you're making is that if this is a
> RESTCONF transport draft then we should just use what's in RFC8040,
> I'm ok with that but would like to hear from the other authors since I
> might be missing some history.

Right.  I think that if HTTP/2 is used then a client can start any
stream it wants; we don't have to specify anything about this in this
draft.  For example, if a client doesn't want to start a new stream,
that should also be ok.


/martin