HTTP2 Stream timeouts?

Greg Wilkins <gregw@intalio.com> Thu, 07 August 2014 06:05 UTC

Return-Path: <ietf-http-wg-request@listhub.w3.org>
X-Original-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Delivered-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D97131AD62A for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Wed, 6 Aug 2014 23:05:51 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.28
X-Spam-Level:
X-Spam-Status: No, score=-6.28 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RP_MATCHES_RCVD=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham
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 IBQ-jPiOub7e for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Wed, 6 Aug 2014 23:05:45 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E61161B279C for <httpbisa-archive-bis2Juki@lists.ietf.org>; Wed, 6 Aug 2014 23:05:42 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.72) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1XFGmZ-00051A-T6 for ietf-http-wg-dist@listhub.w3.org; Thu, 07 Aug 2014 06:02:35 +0000
Resent-Date: Thu, 07 Aug 2014 06:02:35 +0000
Resent-Message-Id: <E1XFGmZ-00051A-T6@frink.w3.org>
Received: from maggie.w3.org ([128.30.52.39]) by frink.w3.org with esmtp (Exim 4.72) (envelope-from <gregw@intalio.com>) id 1XFGmB-00050N-2l for ietf-http-wg@listhub.w3.org; Thu, 07 Aug 2014 06:02:11 +0000
Received: from mail-wi0-f175.google.com ([209.85.212.175]) by maggie.w3.org with esmtps (TLS1.0:RSA_ARCFOUR_SHA1:16) (Exim 4.72) (envelope-from <gregw@intalio.com>) id 1XFGm9-0006qp-SE for ietf-http-wg@w3.org; Thu, 07 Aug 2014 06:02:11 +0000
Received: by mail-wi0-f175.google.com with SMTP id ho1so10001909wib.8 for <ietf-http-wg@w3.org>; Wed, 06 Aug 2014 23:01:43 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:date:message-id:subject:from:to :content-type; bh=iHXHR7L2rKjlh71x+p61fuFYHuatRwfYs7ruAm7eQ+8=; b=HXMDd5xvL+6wS1KjfC2rXQEzTZkxHgaDo3RkPyVwCvSD4KOnXZ7+8slYxLiNnc3UzT 0lEvZyfEbAtHCUMLMxhpMrP2ylrUbRtr8rejaVOpByepCkgI/OyU3lCe66WyhYu0gMg+ D7Q/umH4McwLZ1Z6K1xfYUhwdT1tQUX3TlEs7T5lgdH1n9fALvRMRpvMYpIXgMrA6DW1 AsTlGNL0GfXo/65rFg/ixkVUf3fu6YeiMdyyrrAxIW0VH7NSuVFrvgDQHJFc3ABOgVqF fAvp0ek1TbkoFuIRtk9jZOV2Ul2h2JQ852y4wekBfLlcRunatDNhBQsIYVcsgx3JfOQx DirA==
X-Gm-Message-State: ALoCoQmq9knPuyx1uZMPXM0vQBFMpD2RykmBfc6Ot9442UxEgyafpv+vpKW3ibDu/AJSebIGIiPB
MIME-Version: 1.0
X-Received: by 10.180.11.135 with SMTP id q7mr21918995wib.67.1407391303206; Wed, 06 Aug 2014 23:01:43 -0700 (PDT)
Received: by 10.194.169.98 with HTTP; Wed, 6 Aug 2014 23:01:43 -0700 (PDT)
Date: Thu, 07 Aug 2014 16:01:43 +1000
Message-ID: <CAH_y2NEk+uYisQBh0Ox_FSe1kzXFSj7X75akr2dzgnn+4wjeqw@mail.gmail.com>
From: Greg Wilkins <gregw@intalio.com>
To: HTTP Working Group <ietf-http-wg@w3.org>
Content-Type: multipart/alternative; boundary="001a11c24cacb02450050003d228"
Received-SPF: permerror client-ip=209.85.212.175; envelope-from=gregw@intalio.com; helo=mail-wi0-f175.google.com
X-W3C-Hub-Spam-Status: No, score=-3.7
X-W3C-Hub-Spam-Report: AWL=-3.046, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7
X-W3C-Scan-Sig: maggie.w3.org 1XFGm9-0006qp-SE f4352c9c220dad53af20ac49b00a0b7a
X-Original-To: ietf-http-wg@w3.org
Subject: HTTP2 Stream timeouts?
Archived-At: <http://www.w3.org/mid/CAH_y2NEk+uYisQBh0Ox_FSe1kzXFSj7X75akr2dzgnn+4wjeqw@mail.gmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/26555
X-Loop: ietf-http-wg@w3.org
Resent-Sender: ietf-http-wg-request@w3.org
Precedence: list
List-Id: <ietf-http-wg.w3.org>
List-Help: <http://www.w3.org/Mail/>
List-Post: <mailto:ietf-http-wg@w3.org>
List-Unsubscribe: <mailto:ietf-http-wg-request@w3.org?subject=unsubscribe>

I'm wondering if we need to say something about stream timeouts in the
draft?

With HTTP/1  most servers/clients/intermediaries will timeout connections
if there is no IO activity for a period.  Some will also apply a total
timeout for a complete message to arrive.   Section
http://tools.ietf.org/html/rfc7230#section-3.4 describes how such timeouts
are handled.

With HTTP/2, the IO activity style timeout no longer applies, as there can
be lots of IO activity on other streams while a particular stream is
stalled forever.  Total timeouts can still apply.

So is section 3.4 sufficient to describe behaviour for h2?   or should we
also set some expectation as to the possible longevity (or otherwise) of
inactive streams?

Note that I can see at least one use-case for long held idle stream.
Basically it is the long polling use-case of "protocol abuse".   Frameworks
will still long poll over http2 and would benefit from a bit more certainty
over how long an idle stream can be expected to live.  I can even imaging
more creative protocol abuse where a long held stream is used to enable
push promises to be sent, thus allowing arbitrary resources to be sent from
server to client.



-- 
Greg Wilkins <gregw@intalio.com>
http://eclipse.org/jetty HTTP, SPDY, Websocket server and client that scales
http://www.webtide.com  advice and support for jetty and cometd.