Re: 2NN Contents Of Related (303 Shortcut)

Mark Nottingham <mnot@mnot.net> Thu, 04 September 2014 11:49 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 60B351A8755 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Thu, 4 Sep 2014 04:49:38 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.37
X-Spam-Level:
X-Spam-Status: No, score=-6.37 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, J_CHICKENPOX_48=0.6, J_CHICKENPOX_81=0.6, RCVD_IN_DNSWL_HI=-5, RP_MATCHES_RCVD=-0.668, 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 S_-iLHIueGvd for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Thu, 4 Sep 2014 04:49:36 -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 330381A802D for <httpbisa-archive-bis2Juki@lists.ietf.org>; Thu, 4 Sep 2014 04:49:35 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.72) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1XPVVp-0003ML-0h for ietf-http-wg-dist@listhub.w3.org; Thu, 04 Sep 2014 11:47:37 +0000
Resent-Date: Thu, 04 Sep 2014 11:47:37 +0000
Resent-Message-Id: <E1XPVVp-0003ML-0h@frink.w3.org>
Received: from maggie.w3.org ([128.30.52.39]) by frink.w3.org with esmtp (Exim 4.72) (envelope-from <mnot@mnot.net>) id 1XPVVV-0003LT-AI for ietf-http-wg@listhub.w3.org; Thu, 04 Sep 2014 11:47:17 +0000
Received: from mxout-07.mxes.net ([216.86.168.182]) by maggie.w3.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.72) (envelope-from <mnot@mnot.net>) id 1XPVVS-0003sr-FF; Thu, 04 Sep 2014 11:47:17 +0000
Received: from 81.213.27.105.dynamic.ttnet.com.tr (unknown [81.213.27.105]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by smtp.mxes.net (Postfix) with ESMTPSA id 6623F22E257; Thu, 4 Sep 2014 07:46:49 -0400 (EDT)
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: Mark Nottingham <mnot@mnot.net>
In-Reply-To: <20140902150007.GD16140@w3.org>
Date: Thu, 04 Sep 2014 14:46:47 +0300
Cc: HTTP Working Group <ietf-http-wg@w3.org>, "Julian F. Reschke" <julian.reschke@gmx.de>, sandro@w3.org
Content-Transfer-Encoding: quoted-printable
Message-Id: <74B70844-B187-46F2-B953-8212FDB6151A@mnot.net>
References: <20140630160817.19583.68135.idtracker@ietfa.amsl.com> <53B1A11E.7070206@gmx.de> <20140826001105.GA21557@w3.org> <5BCBFA0D-7EC5-4702-A8CA-FAB4F39191B5@mnot.net> <20140902150007.GD16140@w3.org>
To: Eric Prud'hommeaux <eric@w3.org>
X-Mailer: Apple Mail (2.1878.6)
Received-SPF: pass client-ip=216.86.168.182; envelope-from=mnot@mnot.net; helo=mxout-07.mxes.net
X-W3C-Hub-Spam-Status: No, score=-2.6
X-W3C-Hub-Spam-Report: BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001
X-W3C-Scan-Sig: maggie.w3.org 1XPVVS-0003sr-FF 6de560e8e05d15d33a4fd0bdc65e4b12
X-Original-To: ietf-http-wg@w3.org
Subject: Re: 2NN Contents Of Related (303 Shortcut)
Archived-At: <http://www.w3.org/mid/74B70844-B187-46F2-B953-8212FDB6151A@mnot.net>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/26938
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>

On 2 Sep 2014, at 6:00 pm, Eric Prud'hommeaux <eric@w3.org> wrote:

> Sorry for the delayed response; moving house. Will try to be more
> attentive now.
> 
> * Mark Nottingham <mnot@mnot.net> [2014-08-26 12:20+1000]
>> Eric,
>> 
>> We’re happy to discuss it here, but can’t commit to a schedule before that discussion has begun. 
>> 
>> For my part, I’m still not sure what the difference between the proposed status code is from 200 + Content-Location.
> 
> I think there are two ways this discussion could go:
> 
> We could ask questions like "Is /Index?page=1 a representation of
> /Index ?" and "What is the subject of the metadata in a 200+CL, the
> effective request URI or the CL?" The end result of these is that we
> evaluate the use cases for 303.
> 
> Another is that we say 303's exist and people use them and want to
> streamline their use. I believe that any approach to do so will find
> some way to say that the metadata in the response is about the target
> of the redirect. Is there a more graceful way to do that than 2NN?

Eric,

You haven’t answered the question; you’ve speculated on two different ways that the question might be answered.

Choose.




> 
>> Cheers,
>> 
>> 
>> On 26 Aug 2014, at 10:11 am, Eric Prud'hommeaux <eric@w3.org> wrote:
>> 
>>> I understand people are busy, but is there a chance we can move forward
>>> on this? The subject has been extensively discussed on
>>> www-tag (as detailed below). The June I-D is at:
>>> http://tools.ietf.org/html/draft-prudhommeaux-http-status-2nn-00
>>> 
>>> Technical Summary:
>>> [[
>>> 2NN provides a shorcut the GET X->303 Location:Y, GET Y->200 pattern.
>>> For responses where the server would have responded with a Location
>>> header, it can instead respond with the payload of a notional GET on
>>> that location. The notional GET has all of the headers of the original
>>> request. This defines the behavior for conneg, Vary headers, caching,
>>> etc.
>>> ]]
>>> 
>>> There's a fairly thorough summary in the TAG's draft review:
>>> https://github.com/w3ctag/spec-reviews/blob/master/2014/04/http-209.md
>>> The issues in that document have been addressed in the I-D, but it
>>> does contain motivation for 2NN (especially with respect to Server
>>> Push).
>>> 
>>> The urgency here is that the W3C Linked Data Platform (LDP) Working
>>> Group, which first surfaced the need for this, will be ready to issue
>>> its formal "Call for Implementations" in mid-September.  At that
>>> point, people outside the LDP Working Group will begin writing code
>>> that uses this response code.
>>> 
>>> I understand there may still be some concerns. In the next few weeks,
>>> we'd like to try to address them or resolve that they are truly
>>> insurmountable. Is that reasonable?
>>> 
>>> I went throught the www-tag archives and added my own summary,
>>> underneath, for each message:
>>> -------------------------------------------------------------------------
>>> A new HTTP response code say 209                Dec 19 Tim Berners-Lee
>>> │                   use case for a 209
>>> ├─>Re: A new HTTP response code say 209         Dec 19 Daniel Appelquist
>>> │                   London f2f logistics
>>> ├─>Re: A new HTTP response code say 209         Dec 19 Julian Reschke
>>> │ │                 299 as placeholder
>>> │ │                 why not 303 or 202?
>>> │ └─>                                           Dec 20 Tim Berners-Lee
>>> │                   payload conflict of 303
>>> │                   202 for asynchronous
>>> │                   303 fine logically but requires round trip
>>> ├─>Re: A new HTTP response code say 209         Dec 20 Mark Nottingham
>>> │ │                 use media type instead?
>>> │ │                 HTTPbis 8.2.2.  Considerations for New Status Codes
>>> │ └─>                                           Jan 09 Henry Story
>>> │   │               media types describe representation, not resource
>>> │   ├─>                                         Jan 09 Henry S. Thompson
>>> │   │ │             define in terms of 303+200
>>> │   │ ├─>                                       Jan 09 Henry Story
>>> │   │ │ │           +1 but propose 3xx instead of 2xx
>>> │   │ │ └─>                                     Jan 09 David Sheets
>>> │   │ │   │         respond with message/http
>>> │   │ │   ├─>                                   Jan 09 David Booth
>>> │   │ │   │ │       broaden 209 to cover 300, 301, 302 and 307
>>> │   │ │   │ └─>                                 Jan 09 David Booth
>>> │   │ │   │         or 300, 301, 302 or 307 + multipart body
>>> │   │ │   └─>                                   Feb 13 Reto Gmür
>>> │   │ │             confuses clients interpreting 2xx as 200
>>> │   │ │             could work in 303
>>> │   │ ├─>Fwd: A new HTTP response code say 209  Jan 09 Jonathan A Reese
>>> │   │ │             no evidence that 200 has intended semantics in practice
>>> │   │ └─>                                       Jan 09 Julian Reschke
>>> │   │   │           use 3xx code. 2xx response would apply to request-URI
>>> │   │   └─>                                     Jan 09 Henry S. Thompson
>>> │   │     │         Content-location understood wrt conneg
>>> │   │     └─>                                   Jan 09 Julian Reschke
>>> │   │       │       says there's a more specific URI
>>> │   │       └─>                                 Feb 10 Ashok Malhotra
>>> │   │         │     Arwe: propose: 303 + Prefer: return=representation
>>> │   │         └─>                               Feb 13 Yves Lafon
>>> │   │               dangerous, changes 303, would need Vary: Prefer. 2xx more applicable
>>> │   └─>                                         Jan 09 Julian Reschke
>>> │                   wording of 303
>>> ├─>Re: A new HTTP response code say 209         Dec 19 Jonathan A Reese
>>> │                   note http://www.w3.org/2001/tag/doc/urls-in-data-2013-04-27/
>>> └─>draft of                                     Feb 24 Eric Prud'hommeaux
>>> │                 draft <http://localhost/2014/02/2xx/draft-prudhommeaux-http-status-209>
>>> ├─>Re: draft of 209 proposal                  Feb 24 David Booth
>>> │ │               URL correction
>>> │ └─>                                         Feb 24 Eric Prud'hommeaux
>>> │   │             ack
>>> │   └─>                                       Mar 17 Julian Reschke
>>> │     │           Conflates "see elsewhere" with "too large", how can client know which applies
>>> │     └─>                                     Mar 17 Eric Prud'hommeaux
>>> │                 all that HTTP cares is that the client requested X and got something other than X
>>> └─>                                           Mar 07 Mark Nottingham
>>>   │               why is 209 better than 200 with Content-Location for e.g. POST->303 and GET->303?
>>>   │               partial feeds is addressed in RFC5005
>>>   │               how does HTTP software behave differently?
>>>   ├─>                                         Mar 07 Julian Reschke
>>>   │               offer to help submit I-D
>>>   ├─>                                         Mar 07 Eric Prud'hommeaux
>>>   │ │             GET->303 requires a round trip
>>>   │ │             RFC5005 re-uses URL for a page of resource. requires syndication format (Atom)
>>>   │ │             ack, same-origin constraint insufficient for shared caches
>>>   │ ├─>                                       Mar 08 Julian Reschke
>>>   │ │             submit I-D via http://www.ietf.org/id-info/
>>>   │ ├─>                                       Mar 08 Jeni Tennison
>>>   │ │             TAGs use of URLs http://www.w3.org/TR/urls-in-data/ includes 303s
>>>   │ └─>                                       Mar 13 Mark Nottingham
>>>   │   │           not really a redirect so 200 with Content-Location should suffice
>>>   │   │           RFC5005 doesn't require URL re-use
>>>   │   │           why not embed paging info in served representations?
>>>   │   ├─>                                     Mar 13 Jonathan A Rees
>>>   │   │ │         Content-Location is a representation of requested resource
>>>   │   │ ├─>                                   Mar 16 Mark Nottingham
>>>   │   │ │ │       more details [on why Content-Location won't suffice]
>>>   │   │ │ └─>                                 Mar 15 Jonathan A Rees
>>>   │   │ │         [discussion of non-information resources]
>>>   │   │ └─>                                   Mar 17 Julian Reschke
>>>   │   │   │       is it OK that naive clients will treat 209 as 200?
>>>   │   │   └─>                                 Mar 17 Eric Prud'hommeaux
>>>   │   │           small survey examining behavior of such clients
>>>   │   └─>                                     Mar 15 Eric Prud'hommeaux
>>>   │     │         example differentiating page of resource from representation of resource
>>>   │     └─>                                   Mar 16 Mark Nottingham
>>>   │               HTTP doesn't enable one representation to make an authoritative assertion about another
>>>   └─>                                         Mar 07 Sandro Hawke
>>>     │             propose same-origin requirements for trusting 209 response
>>>     └─>                                       Mar 07 Eric Prud'hommeaux
>>>                   there are apparently different security reqs for client vs. proxies
>>>                   proxies may not be content with same-origin, client proxies likely more liberal
>>> 
>>> I believe Mark Nottingham remains concerned that 2NN's assertion about
>>> the representation of the Location resource is counter to HTTP.  The
>>> Linked Data Platform's paging spec presumes that clients will take
>>> advantage of the improved efficiency.
>>> -- 
>>> -ericP
>>> 
>>> 
>>> * Julian Reschke <julian.reschke@gmx.de> [2014-06-30 19:40+0200]
>>>> (FYI)
>>>> 
>>>> 
>>>> -------- Original Message --------
>>>> Subject: I-D Action: draft-prudhommeaux-http-status-2nn-00.txt
>>>> Date: Mon, 30 Jun 2014 09:08:17 -0700
>>>> From: internet-drafts@ietf.org
>>>> Reply-To: internet-drafts@ietf.org
>>>> To: i-d-announce@ietf.org
>>>> X-ArchivedAt: http://www.w3.org/mid/53B1A11E.7070206@gmx.de
>>>> 
>>>> 
>>>> A New Internet-Draft is available from the on-line Internet-Drafts
>>>> directories.
>>>> 
>>>> 
>>>>       Title           : The Hypertext Transfer Protocol (HTTP)
>>>> Status Code 2NN (Contents of Related)
>>>>       Author          : Eric G. Prud'hommeaux
>>>> 	Filename        : draft-prudhommeaux-http-status-2nn-00.txt
>>>> 	Pages           : 9
>>>> 	Date            : 2014-06-30
>>>> 
>>>> Abstract:
>>>>  This document specifies the additional HyperText Transfer Protocol
>>>>  (HTTP) Status Code 2NN (Contents of Related).  It also specified a
>>>>  Prefer header value "contents-of-related" which clients can use to
>>>>  indicate that they can accept 2NN responses.
>>>> 
>>>> 
>>>> The IETF datatracker status page for this draft is:
>>>> https://datatracker.ietf.org/doc/draft-prudhommeaux-http-status-2nn/
>>>> 
>>>> There's also a htmlized version available at:
>>>> http://tools.ietf.org/html/draft-prudhommeaux-http-status-2nn-00
>>>> 
>>>> 
>>>> Please note that it may take a couple of minutes from the time of submission
>>>> until the htmlized version and diff are available at tools.ietf.org.
>>>> 
>>>> Internet-Drafts are also available by anonymous FTP at:
>>>> ftp://ftp.ietf.org/internet-drafts/
>>>> 
>>>> _______________________________________________
>>>> I-D-Announce mailing list
>>>> I-D-Announce@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/i-d-announce
>>>> Internet-Draft directories: http://www.ietf.org/shadow.html
>>>> or ftp://ftp.ietf.org/ietf/1shadow-sites.txt
>>>> 
>>>> 
>>>> 
>>>> 
>>> 
>>> -- 
>>> -ericP
>>> 
>>> office: +1.617.599.3509
>>> mobile: +33.6.80.80.35.59
>>> 
>>> (eric@w3.org)
>>> Feel free to forward this message to any list for any purpose other than
>>> email address distribution.
>>> 
>>> There are subtle nuances encoded in font variation and clever layout
>>> which can only be seen by printing this message on high-clay paper.
>>> 
>> 
>> --
>> Mark Nottingham   http://www.mnot.net/
>> 
>> 
>> 
> 
> -- 
> -ericP
> 
> office: +1.617.599.3509
> mobile: +33.6.80.80.35.59
> 
> (eric@w3.org)
> Feel free to forward this message to any list for any purpose other than
> email address distribution.
> 
> There are subtle nuances encoded in font variation and clever layout
> which can only be seen by printing this message on high-clay paper.

--
Mark Nottingham   http://www.mnot.net/